Nějakou dobu jsem laboroval s toto poněkud podivnou hláškou - jak může změna z 1 na 1 vygenerovat chybu? A kde se vůbec ta změna bere, když jedinou operaci, kterou dělám, je session.save()?
Nakonec jsem chybu našel. Při laborování s formátem dat v databázi a ručním copy&paste psaní hbm.xml jsem zavlekl typovou nekonzistenci do dat. V databázi (PostgreSQL) jsem měl u ID Integer (což onu chybu ale nevyvolá), v hbm.xml java.lang.Integer, ale ve třídě java.lang.Long. No a protože long nelze bez přetypování uložit do intu, ona alterace byla na světě.
Řešení tohoto problému je tedy prosté. Zkontrolujte si, že vám PŘESNĚ sedí jednotlivé typy v Javě a v hbm.xml
Kéž to někomu pomůže.
Dagblog přesunut na vlastní doménu
před 8 lety
Žádné komentáře:
Okomentovat