Ahoj,

v historii mercurialu by měl být i autor změny ;-)

Jinak je dobře možné, že změna byla "bezdůvodná". Asi nějak tak, že autor
pracoval třeba i na jiném projektu, kde bylo potřeba mít @Id typu
BigInteger, tak "pro jistotu" a "do budoucna" tuto změnu provedl všude.
Nebo třeba jen takovou radu vyčetl na nějakém blogu. Nebo mu takové Id
vygenerovat Hibernate generátor, tak si řekl, že to musí být tedy správně,
apod.

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?).

Ondra Medek


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

> Mám tu jeden projekt, který používá JPA (konkrétně Hibernate +
> PostgreSQL) a v historii jeho mercurialu jsem našel změnu datového typu
> primárních klíčů z Integeru na BigInteger. Bohužel tam nic víc napsané
> není. Anotace @Id by měla podle JavaDocu fungovat s oběma typy. A nezdá
> se mi, že by to někdo měnil jen tak bezdůvodně, zřejmě to bylo kvůli
> nějakému problému/incidentu. (jenže rozsah hodnot by měl bohatě stačit i
> u Integeru - a datový typ v SQL je taky integer - 32 bitů).
> Napadá někdo, co mohlo být důvodem?
>
> Díky,
> Franta
>

Odpovedet emailem