<p>Igen, akartam kozben irni, csakhat...</p>
<p>Szoval a megoldas kettos volt:<br>
- flush, amit te is irtal<br>
- csinaltam a dao-knak egy interfeszt, az ott levo metodusok kaptak @Transactional flaget, majd abbol implementaltam a daokat, ahol mar nem kellett annotalni. Valamiert azt se szerette, ha siman a dao osztalyon volt a @Transactional. De igy most jo, es koveti a spring ajanlasokat is => duplan jo!</p>
<p>Garami Gábor<br>
<a href="mailto:gabor.garami@hron.me">gabor.garami@hron.me</a><br>
Skype: hron84<br>
Tel: +36 20 235 9621</p>
<p>Sent from my T-Mobile G2<br>
Ezt a levelet telefonról adták fel, ékezethibákat tartalmazhat.</p>
<div class="gmail_quote">2012.08.19. 18:31, "Zsombor" <<a href="mailto:gzsombor@gmail.com">gzsombor@gmail.com</a>> ezt írta:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br><br><div class="gmail_quote">2012/8/19 Gábor Garami <span dir="ltr"><<a href="mailto:gabor.garami@hron.me" target="_blank">gabor.garami@hron.me</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Sziasztok,<br>
<br>
Egy olyan nyugom van, hogy a spring-gel db-bol nagyon konnyen tudok<br>
kiszedni (olvasni) dolgokat, de amikor modositani kene, az sosem megy.<br>
<br>
Kodok:<br>
<br>
Kontroller:<br>
<br>
@Controller<br>
@RequestMapping("/articles")<br>
public class ArticleContoroller {<br>
// sok sok blabla<br>
@RequestMapping(value = "/{id}", method = RequestMethod.POST)<br>
public String update(@ModelAttribute("article") Article article,<br>
BindingResult result, SessionStatus status) {<br>
<a href="http://log.info" target="_blank">log.info</a>("POST article ID: " + article.getId() + ", title: " +<br>
article.getTitle());<br>
articleDao.update(article);<br>
return "redirect:/articles/" + article.getId();<br>
}<br>
}<br>
<br>
DAO:<br>
<br>
@Component<br>
class ArticleDao {<br>
<br>
@PersistenceContext private EntityManager em;<br>
<br>
@Transactional<br>
public void create(Article a) {<br>
em.persist(a);<br>
}<br>
<br>
<br>
@Transactional<br>
public void update(Article a) {<br>
em.merge(a);<br>
}<br>
}<br>
<br>
Szoval semmi extra. A POST-ban latom, hogy szepen megjon a modositott<br>
adat, de a DB-be mar nem kerul be, a logokban sehol nincs UPDATE (van<br>
persist metodusom is, ott nyilvan INSERT kene - de nincs az se).<br>
Szoval, mintha read-only lenne a db. Pedig nem, joga siman van rajta<br>
irni/olvasni.<br>
<br>
Az applicationContext.xml meg a tobbi konfigos hulyeskedes ebben a<br>
repoban van: git://<a href="http://chocolate.hron.me/hron84/springblog.git" target="_blank">chocolate.hron.me/hron84/springblog.git</a> (valamikor<br>
csinalok mar webes feluletet ele, meg egyelore nem jutottam hozza....<br>
:S).<br>
<br>
A lenyeg: hihetetlenul idegesito, hogy az app csak felig megy.<br>
<br>
Probaltam teszteket is csinalni, ugyanugy nem tortenik<br>
perzisztalas/mergeles, uj objektumnal (new Article(); beallitgatas,<br>
majd dao.create(a); es nem kap se ID-t, se a logban INSERT SQL<br>
query-t).<br>
<br>
Mi a szoszt ronthatok el egy ilyen, viszonylag egyszeru dolgon?<br>
Dolgoztam mar sima JPA-val, ott ment a perzisztalas/mergeles siman.<br>
<br>
Amit meg olvastam tippkent, hogy az lehet a baj, hogy a<br>
persistence.xml-ben a transaction-type="RESOURCE_LOCAL" viszont mivel<br>
fejlesztes kozben Jetty-vel futtatok, ott nem igazan tudok JTA-s<br>
cuccot gyartani, mert kettonna siramot kapok olyankor, es az app nem<br>
all fel. Lehet, hogy megis ez a baj?<br>
<br>
Garami Gábor<br>
E-mail: <a href="mailto:gabor.garami@hron.me" target="_blank">gabor.garami@hron.me</a><br>
Tel: <a href="tel:%2B36%2020%20235%209621" value="+36202359621" target="_blank">+36 20 235 9621</a><br>
MSN: <a href="mailto:hrgy@vipmail.hu" target="_blank">hrgy@vipmail.hu</a><br>
Skype: hron84<br></blockquote></div><br>Valszeg flush-t kéne hívnod a végén. Mondjuk lehet, hogy ezt megcsinálja a spring alapból is.<br><br>Zs<br><br>
<br>_______________________________________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
<br></blockquote></div>