-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Annotations - Aufbau Business Objekt Modell
PostPosted: Wed Feb 20, 2008 1:56 pm 
Newbie

Joined: Mon May 14, 2007 5:49 am
Posts: 17
Guten Abend Zusammen,

da mir eben schon so wunderbar geholfen wurde hier gleich noch ein kleiner Zusatz. :-)

Ich habe insgesamt 6 Business Objekte die mehr oder weniger heftig miteinander in Verbindung stehen.

Alle erweitern sie die Klasse "BaseEntity", da alle eine ID brauchen und sich das somit doch anbietet.

Jetzt habe ich nur Probleme / Fragen zum Mapping mit Annotations auf die DB.

Hier meine BaseEntity:

Code:
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public abstract class BaseEntity {
   
   private Integer id;

   public void setId(Integer id) {
      this.id = id;
   }

   @Id
   @GeneratedValue(strategy=GenerationType.AUTO)
   public Integer getId() {
      return id;
   }

   @Transient
   public boolean isNew() {
      return (this.id == null);
   }
}


Und hier noch ein Beispiel Business Objekt:

Code:
@Entity
public class Competition extends BaseEntity {
   
   private String name;
   private String description;
   
   /*
    * default constructor
    */
   
   public Competition() {
      
   }
   
   /*
    * Getter and Setter
    */

   public String getName() {
      return name;
   }

   public void setName(String name) {
      this.name = name;
   }

   public String getDescription() {
      return description;
   }

   public void setDescription(String description) {
      this.description = description;
   }
   
}


Naja ... however. Also das ganze ist lauffähig ... allerdings generiert er mir bei der DB Erstellung zu Beginn die Tabellen "baseentitiy" und "competition". Wie kann ich verhindern, dass er die Tabelle "baseentity" anlegt? Ist das überhaupt möglich?

Gehe ich überhaupt richtig an die Sache heran ... oder sollte ich mit @Embedded und @Embeddable arbeiten?

Hat da jemand vielleicht mal ein gutes Beispiel oder eine Best Pratice für mich?

Vielen Dank schon mal für eure Hilfe.

Viele Grüße
Oliver


Top
 Profile  
 
 Post subject:
PostPosted: Sun Feb 24, 2008 5:53 am 
Expert
Expert

Joined: Thu Jul 05, 2007 9:38 am
Posts: 287
Hi,
ich denk was du suchst ist die
@MappedSuperclass
Annotation. Diese verwendest du anstatt der Entity Annotation und dem ganzen Inheritance Zeug für die Basisklasse.

Dies Bewirkt, dass die Basisklasse selbst nicht als Hibernate Entity angesehen wird, alle von ihr abgeleiteten Klassen aber ihre Anntotations übernehmen.

Hervorragend um Primärschlüssel, Version Attribute und andere Standards einheitlich festzulegen

_________________
Please rate useful posts.


Schauderhaft: Softwaredevelopment, Projectmanagement, Qualitymanagement and all things "schauderhaft"


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.