Re: JPA - pouze první commit se nepovede, ale neměl by se povést žádný

2011-09-05 Tema obsahu Zdeněk Troníček
Místo merge() je potřeba volat persist(). A ano, v JSE může být persistentní kontext EXTENDED. Vybírá se to při vytváření kontextu. Zda je entita ve stavu managed lze zjistit přes EntityContext.contains() a na přechody mezi stavy jsou anotace @PostRemove, @PostUpdate, atd. Z.T. -- Zdenek Tronicek

Re: JPA - pouze první commit se nepovede, ale neměl by se povést žádný

2011-09-05 Tema obsahu Libor Jelinek
Dobrý den, pane Troníčku, máte pravdu, děkuji! Tohle mě vůbec nenapadlo. Přidal jsem při selhání prvního commit() tedy merge(), abych entitu vrátil do managed stavu a pak správně další commit() opět selže. JPA používám v desktopové Java aplikaci (žádné aplikační servery apod.), takže persitentní

Re: JPA - pouze první commit se nepovede, ale neměl by se povést žádný

2011-09-05 Tema obsahu Zdeněk Troníček
Dobrý den, jakého typu je persistentní kontext? Jestliže TRANSACTION_SCOPED, tak na konci transakce (při prvním commitu) jsou všechny entity převedeny do stavu detached a při druhém commitu není v persistentním kontextu žádná entita a tudíž se do databáze nic nezapíše. Z.T. -- Zdenek Tronicek FI

JPA - pouze první commit se nepovede, ale neměl by se povést žádný

2011-09-05 Tema obsahu Libor Jelinek
Dobrý den, prosím můžete mi někdo pomoci vysvětlit a pochopit následující chování v JPA? Záměrně měním primární klíč entity, což je v JPA zakázáno. První commit tedy správně vyhodí "Exception Description: The attribute [date] of class [some.package.Holiday] is mapped to a primary key column in the