Sziasztok!
Kérlek segítsetek agy dolog megértésében. Olvasok egy sokak által vitatott könyvet JavaEE témában, és sajnos a könyv nem tér ki részletesen arra a problémára, ha új entitás akarok az adatbázisba szúrni. Addig eljutottam, hogy presistensé kell teni az EntityManagerben, ezért a beanbe csináltam egy ilyen függvényt (leegyszerűsítve):
public void storeItem(Items item) throws Exception {
if (item.getId() != null) {
em.merge(item);
} else {
em.persist(item);
}
}
ami meglévő entity esetén merge-l (ez műxik), de nem tudom mit kell tenni, ha még nem létező-t akarok beszúrni. Kérlek homályosítsatok fel.
Előre is köszönöm.
- 1101 megtekintés
Hozzászólások
ennyit. :)
ha ki akarod rogton a dbbe kuldeni, mert mondjuk a primary key az autogenerated dbben, akkor en ugy szoktam, hogy
em.persist(data);
em.flush();
em.refresh(data);
ez igy frissiti az entitas autogeneralt mezojet/mezoit is.
ha nem flusholsz, akkor a JPA provider dolga eldonteni, hogy hany es milyen keresenkent batcheljen, igy kenyszeritheto ki a dbbe kozvetlen a dolog.
- A hozzászóláshoz be kell jelentkezni
oops benéztem
- A hozzászóláshoz be kell jelentkezni
? :)
- A hozzászóláshoz be kell jelentkezni
A gond az volt, hogy volt egy mező ami NOT NULL értéken volt, és annak nem adtam értéket, és így dobta az exceptiont.
- A hozzászóláshoz be kell jelentkezni
hat igen. :)
- A hozzászóláshoz be kell jelentkezni