@Id-Annotation

Status
Nicht offen für weitere Antworten.

Babba_BLuBB

Aktives Mitglied
Hallo zusammen,

ich lese mich zur Zeit in Hibernate ein und habe eine Frage zur @Id-Annotation.
Als "Primärschlüssel" kann man auf der Java-Objektebene sowol einen primitiven Datentyp (z.B. long), als auch einen Referenzdatentyp (z.B. Long) verwenden.

Jetzt frage ich mich, was der Unterschied zwischen diesen beiden Varianten ist (sofern es einen gibt).
Ich habe schon in mehrern Büchern nachgelesen, da steht aber nie ein Wort über die Unterschiede.

Grüße und danke.
 
G

Guest

Gast
Long ist nullable, long nicht.

Ich würde dir empfehlen grundsätzlich die Wrapperklassen wie Long, Integer, Double etc. bei JPA bzw. Hibernate
zu verwenden und die Constraints bei den entsprechenden Annotationen zu schreiben.
Damit wird bei Mussfeldern sichergestellt, dass du diese tatsächlich setzt und nicht, dass sie einen Default-Wert wie
0 o.ä. erhalten.
z.B.
Code:
@Entity
@Table(name="PERSON")"
public class Person
{
   @Id
   @GeneratedValue
   @Column(name="ID", updateable=false)
   private Long id;

   @Column(name="AGE", nullable=false)
   private Integer age;

   ... usw
}
 
G

Guest

Gast
Ätsch. :shock: Korrektur
Code:
@Table(name="PERSON")
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben