[Javalist] Spring perszisztalas/merge nem megy

cx.chico cx.chico at gmail.com
2012. Aug. 20., H, 21:19:58 CEST


Hello,

A <tx:annotation-driven /> szükséges.
A spring AOP proxy alapból interface-n keresztül működik.

Én így próbálnám:

@Repository
public class ArticleDao implements IArticleDao {

(...)

}


Üdv,
Chico

Gábor Garami <gabor.garami at hron.me> írta (2012. augusztus 20. 7:51):
> Hat, elkiabaltam.
>
> A problema meg aktiv, meg mindig nem tudok irni az adatbazisba.
>
> A kod tallozhato itt:
> http://git.hron.me/?p=hron84/springblog.git;a=summary letoltesi link
> ugyanott.
>
> Plz. valaki help.
>
> Garami Gábor
> E-mail: gabor.garami at hron.me
> Tel: +36 20 235 9621
> MSN: hrgy at vipmail.hu
> Skype: hron84
>
>
> 2012/8/19 Gábor Garami <gabor.garami at hron.me>:
>> 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
>>>
>>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist


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