2010-04-02 11 views
6

Zum Beispiel gibt es eine Integer-Spalte in einer Datenbanktabelle. Dann in Java-Modell, kann es als Grundelement Int und Integer zugeordnet werden. Meine Frage ist, was ist der Unterschied zwischen Int und Integer in diesem Fall? Und Leistungsbedenken? Danke!Was ist der Unterschied zwischen primitiven und Wrapper-Klasse in JPA (Hibernate) Spaltenzuordnungen?

+0

natürlich weiß ich, dass es eine Ausnahme auftreten wird, wenn primitive int Null-Wert in der Datenbank erfüllt. –

Antwort

6

Ich neige dazu, Primitive zu vermeiden. Dies gilt insbesondere für das Id-Attribut. Dies ermöglicht es, einen noch nicht eingestellten Wert durch Testen auf null zu erkennen. Wenn Sie Java 5 oder höher verwenden, nimmt das automatische Boxing den Schmerz weg (und ist kein Performance-Problem). Aber auch für andere Attribute. Wie von @skaffman gezeigt, sind Primitive nicht für Nullable-Spalten geeignet und ich bevorzuge den Code so flexibel wie möglich.

3

Sie haben bereits den Unterschied erwähnt - Integer kann null, int nicht sein. Wenn Ihre Datenbankspalte nullfähig ist, sollten Sie Integer verwenden.

Was die Leistung angeht, würde ich mir keine Sorgen machen. Moderne VMs sind sehr gut in dieser Hinsicht.

Verwandte Themen