Hi Jeroen, The problem is that I am not a big fan of services layer. Sometimes it looks very anemic to me. But I totally agree with you when you say the action should not know about persistence problems, and that's why I want to do it via AOP.
I had the same thought about the problem: the Spring proxy does not work properly with all the magic Struts2 and Reflection do! I tried to open a bug in the Struts2 JIRA, but they closed it and said that it works. I think it should be some kind of spring or struts configuration I am not doing right. Thanks in advance, Mauricio On Thu, Apr 30, 2009 at 11:22 PM, Jeroen De Ridder <voetsjo...@gmail.com>wrote: > You really shouldn't be making your Struts 2 actions @Transactional. Doing > that causes Spring to create a proxy so it can put some extra > transaction-handling logic between the method call and the actual method. > The thing is, Struts 2 and OGNL rely heavily on reflection on the action > classes which simply does not work at all with the proxies created by > Spring. > > Regardless, making your actions @Transactional means mixing persistence > concerns with controller logic in the same class. You should consider > keeping the two separated. For example, the service approach is a good > start: > http://struts.apache.org/2.0.14/docs/struts-2-spring-2-jpa-ajax.html. > > > Yes, I am. Everything works fine when I don't try to use Spring >> transactional AOP! >> >> Mauricio >> >> On Thu, Apr 30, 2009 at 9:43 PM, Dave Newton <newton.d...@yahoo.com> >> wrote: >> >> >> >>> Mauricio Aniche wrote: >>> >>> >>> >>>> I am using Struts2+Spring+JPA/Hibernate. When I use the @Transactional >>>> to >>>> mark an execute() method in a Struts2 Action, the action stops working >>>> properly (i.e. the attributes in the action are not automatically >>>> setted). >>>> It does not work with Spring AOP transactions as well. >>>> >>>> In my struts.config I setted the following constant: >>>> ---- >>>> <constant name="struts.objectFactory" value="spring" /> >>>> >>>> >>>> >>> You're using the Spring plugin, correct? >>> >>> Dave >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>> For additional commands, e-mail: user-h...@struts.apache.org >>> >>> >>> >>> >> >> >> > >