Ahoj,

na tom Integer vs. int jsem jen chtěl ukázat, že pro Hibernate chybí nějaký
jednoduchý "best practices". Někdo má "dobrý důvod" používat Integer, jiný
má zase "dobrý důvod" používat int, a další se zase bude bít za BigInteger.

Co za DB používáte, jaký je tam přesně datový typ pro ID? Nemohlo se stát,
že se vysoké hodnoty toho SQL integer namapovaly do Javy špatně? Tedy bych
zkusil najít extrémní hodnoty (jak + tak -) těch Id na produkci. Případně
bych si takové hodnoty na vývojové DB udělat ručně. Pak bych převedl
BigInteger na Integer, a testoval. A taky zkus Google např. "MySQL integer
to Hibernate Integer problem", apod.


Ondra Medek


2013/10/29 František Kučera <konfere...@frantovo.cz>

> > Bohužel Hibernate je složitý nástroj a neexistují žádné jednoduché
> > tutoriály typu "todle nedělejte" nebo "todle dělejte jen výjimečně". A
> > proto člověk udělá i řadu omylů, než např. zjistí, že na Id stačí
> > Integer nebo Long (a nebo int, long?).
>
> Ahoj,
> pro objektové typy (Integer místo int) může být dobrý důvod - podle null
> se jednoznačně pozná, že ID ještě nebylo přiřazeno a nemusí se používat
> nějaké magické hodnoty jako 0 nebo -1. Ale co vedlo k tomu BigIntegeru
> je stále záhadou. Můžu to refaktorovat zpátky na Integer a pozorovat, co
> se rozbije, ale do toho se mi moc nechce...
> Franta
>
>

Odpovedet emailem