[Javalist] Spring perszisztalas/merge nem megy

Gábor Garami gabor.garami at hron.me
2012. Aug. 19., V, 19:26:40 CEST


Igen, akartam kozben irni, csakhat...

Szoval a megoldas kettos volt:
- flush, amit te is irtal
- 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!

Garami Gábor
gabor.garami at hron.me
Skype: hron84
Tel: +36 20 235 9621

Sent from my T-Mobile G2
Ezt a levelet telefonról adták fel, ékezethibákat tartalmazhat.
2012.08.19. 18:31, "Zsombor" <gzsombor at gmail.com> ezt írta:

>
>
> 2012/8/19 Gábor Garami <gabor.garami at hron.me>
>
>> 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
>>
>
> Valszeg flush-t kéne hívnod a végén. Mondjuk lehet, hogy ezt megcsinálja a
> spring alapból is.
>
> Zs
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
>
--------- következ? rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20120819/59615376/attachment.html>


További információk a(z) Javalist levelezőlistáról