[Javalist] Spring perszisztalas/merge nem megy
Gábor Garami
gabor.garami at hron.me
2012. Aug. 19., V, 04:22:41 CEST
Sziasztok,
Egy olyan nyugom van, hogy a spring-gel db-bol nagyon konnyen tudok
kiszedni (olvasni) dolgokat, de amikor modositani kene, az sosem megy.
Kodok:
Kontroller:
@Controller
@RequestMapping("/articles")
public class ArticleContoroller {
// sok sok blabla
@RequestMapping(value = "/{id}", method = RequestMethod.POST)
public String update(@ModelAttribute("article") Article article,
BindingResult result, SessionStatus status) {
log.info("POST article ID: " + article.getId() + ", title: " +
article.getTitle());
articleDao.update(article);
return "redirect:/articles/" + article.getId();
}
}
DAO:
@Component
class ArticleDao {
@PersistenceContext private EntityManager em;
@Transactional
public void create(Article a) {
em.persist(a);
}
@Transactional
public void update(Article a) {
em.merge(a);
}
}
Szoval semmi extra. A POST-ban latom, hogy szepen megjon a modositott
adat, de a DB-be mar nem kerul be, a logokban sehol nincs UPDATE (van
persist metodusom is, ott nyilvan INSERT kene - de nincs az se).
Szoval, mintha read-only lenne a db. Pedig nem, joga siman van rajta
irni/olvasni.
Az applicationContext.xml meg a tobbi konfigos hulyeskedes ebben a
repoban van: git://chocolate.hron.me/hron84/springblog.git (valamikor
csinalok mar webes feluletet ele, meg egyelore nem jutottam hozza....
:S).
A lenyeg: hihetetlenul idegesito, hogy az app csak felig megy.
Probaltam teszteket is csinalni, ugyanugy nem tortenik
perzisztalas/mergeles, uj objektumnal (new Article(); beallitgatas,
majd dao.create(a); es nem kap se ID-t, se a logban INSERT SQL
query-t).
Mi a szoszt ronthatok el egy ilyen, viszonylag egyszeru dolgon?
Dolgoztam mar sima JPA-val, ott ment a perzisztalas/mergeles siman.
Amit meg olvastam tippkent, hogy az lehet a baj, hogy a
persistence.xml-ben a transaction-type="RESOURCE_LOCAL" viszont mivel
fejlesztes kozben Jetty-vel futtatok, ott nem igazan tudok JTA-s
cuccot gyartani, mert kettonna siramot kapok olyankor, es az app nem
all fel. Lehet, hogy megis ez a baj?
Garami Gábor
E-mail: gabor.garami at hron.me
Tel: +36 20 235 9621
MSN: hrgy at vipmail.hu
Skype: hron84
További információk a(z) Javalist levelezőlistáról