Ad esempio, c'è una colonna di numeri interi in una tabella di database. Quindi nel modello java, può essere mappato sia come primitivo int e Numero intero. La mia domanda è la differenza tra int e Integer in questo caso? E preoccupazione per le prestazioni? Grazie!Qual è la differenza tra la classe primitiva e la classe wrapper nei mapping di colonne JPA (Hibernate)?
6
A
risposta
6
Tendo ad evitare l'uso di primitive. Questo è particolarmente vero per l'attributo Id. Ciò rende possibile rilevare un valore non ancora impostato testando per null
. Se si utilizza Java 5 o successivo, l'auto-boxing elimina il dolore (e non è un problema di prestazioni). Ma anche per altri attributi. Come sottolineato da @skaffman, le primitive non sono adatte per le colonne nullable e preferisco che il codice sia il più flessibile possibile.
3
Hai già menzionato la differenza - Integer
può essere null
, int
impossibile. Quindi se la colonna del tuo database è nullable, allora dovresti usare Integer
.
Per quanto riguarda le prestazioni, non me ne preoccuperei. Le moderne macchine virtuali sono molto brave in questo genere di cose.
Problemi correlati
- 1. Qual è la differenza tra @Entity in Hibernate e JPA
- 2. Qual è la differenza tra la classe tattile del cacao e la normale classe Swift?
- 3. Qual è la differenza tra la classe Debug e la classe Trace?
- 4. Qual è la differenza tra entità e classe?
- 5. Qual è la differenza tra URI e Uri classe
- 6. Qual è la differenza tra una classe astratta e un'interfaccia?
- 7. Qual è la differenza tra una classe e una libreria?
- 8. qual è la differenza tra classOf [T] e Classe [T]
- 9. Qual è la differenza tra getDeclaredConstructors e getConstructors nell'API classe?
- 10. Spring Data-JPA contro JPA: qual è la differenza?
- 11. Classe, oggetto, entità: qual è la differenza?
- 12. Qual è la differenza tra PESSIMISTIC_READ e PESSIMISTIC_WRITE in JPA?
- 13. Qual è la differenza tra `##` e `hashCode`?
- 14. Qual è la differenza tra percorso classe, file system?
- 15. Qual è la differenza tra * e * | * nei CSS?
- 16. Qual è la differenza tra dimensione e conteggio nei panda?
- 17. Qual è la differenza tra classi e istanze di oggetti?
- 18. Qual è la differenza tra SimpleNamespace e la definizione di una classe vuota?
- 19. qual è la differenza tra classe gonfia e classe con tag?
- 20. Qual è la differenza tra una classe statica e una classe normale?
- 21. Differenza tra la variabile istanza "@" appartenente all'oggetto classe e la variabile di classe "@@" in Ruby?
- 22. Confrontare la classe wrapper con la primitiva usando equals() dà un comportamento strano
- 23. Mapping dell'ereditarietà con JPA/Hibernate
- 24. Qual è la differenza tra StringIO e io.StringIO in Python2.7?
- 25. Qual è la differenza tra $ e $$?
- 26. Qual è la differenza tra {0} e +?
- 27. Qual è la differenza tra = e: =
- 28. Qual è la differenza tra ("") e (null)
- 29. Qual è la differenza tra dict() e {}?
- 30. Qual è la differenza tra Verilog! e ~?
ovviamente, so che si verificherà un'eccezione quando primitive int incontra valore nullo nel database. –