check:
package nl.topticketline.topnet.service;
import java.util.List;
import nl.topticketline.topnet.dao.EventSpanDao;
import nl.topticketline.topnet.model.EventSpan;
import org.appfuse.service.impl.GenericManagerImpl;
public class EventSpanManagerImpl extends GenericManagerImpl<EventSpan,
Long> implements EventSpanManager {
EventSpanDao eventSpanDao;
public EventSpanManagerImpl(EventSpanDao eventSpanDao) {
super(eventSpanDao);
this.eventSpanDao = eventSpanDao;
}
public List<EventSpan> getAll() {
return eventSpanDao.getAll();
}
public List<EventSpan> getAllIncludingRemoved() {
return eventSpanDao.getAllIncludingRemoved();
}
public List<EventSpan> getAllRemoved() {
return eventSpanDao.getAllRemoved();
}
public void remove(long id) {
eventSpanDao.remove(id);
}
public boolean exists(Long id) {
return eventSpanDao.exists(id);
}
public EventSpan get(Long id) {
return eventSpanDao.get(id);
}
public void remove(Long id) {
eventSpanDao.remove(id);
}
public void save(EventSpan object) {
eventSpanDao.save(object);
}
}
Michael Horwitz wrote:
Could I check that your manager implementation implements an interface
called EventSpanManager?
Mike
On 5/4/07, *tibi* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:
offcourse:
--------cdoe----------------------
log.debug("start saving id:" + eventSpan.getId ());
try {
eventSpanManager.save(eventSpan);
} catch (Exception e) {
log.debug("error:", e);
}
-------------------log-------------------------
[topnet] DEBUG [btpool0-2] EventSpanAction.updateEventSpan(178) |
start
saving id:1
[topnet] DEBUG [btpool0-2] EventSpanAction.updateEventSpan(182) |
error:
org.springframework.dao.InvalidDataAccessApiUsageException : Write
operations are not allowed in read-only mode (FlushMode.NEVE
R/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove
'readOnly' marker from transaction definition.
at
org.springframework.orm.hibernate3.HibernateTemplate.checkWriteOperationAllowed
(HibernateTemplate.java:1090)
at
org.springframework.orm.hibernate3.HibernateTemplate$16.doInHibernate(HibernateTemplate.java:683)
at
org.springframework.orm.hibernate3.HibernateTemplate.execute(
HibernateTemplate.java:367)
at
org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:681)
at
org.appfuse.dao.hibernate.GenericDaoHibernate.save(GenericDaoHibernate.java
:61)
at
nl.topticketline.topnet.service.EventSpanManagerImpl.save(EventSpanManagerImpl.java:49)
at
nl.topticketline.topnet.service.EventSpanManagerImpl.save(EventSpanManagerImpl.java:10)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java
:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:299)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke
(JdkDynamicAopProxy.java:196)
at $Proxy25.save(Unknown Source)
at
nl.topticketline.topnet.action.EventSpanAction.updateEventSpan(EventSpanAction.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:399)
at
com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly
(DefaultActionInvocation.java:262)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:224)
at
com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept
(DefaultWorkflowInterceptor.java:213)
at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling
(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile
(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java
:150)
at
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationIntercept
or.java:48)
at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept
(MethodFilterInterceptor.java:86)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling
(DefaultActionInvocation.java:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java
:216)
at
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java
:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
com.opensymphony.xwork2.interceptor.ParametersInterceptor.intercept(ParametersInterceptor.java:161)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:83)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling
(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile
(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java
:207)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java
:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:74)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke
(DefaultActionInvocation.java:216)
at
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:127)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling
(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile
(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java
:107)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java
:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:206)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:115)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept
(I18nInterceptor.java:143)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java
:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
com.opensymphony.xwork2.interceptor.PrepareInterceptor.intercept(PrepareInterceptor.java:115)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke
(DefaultActionInvocation.java:216)
at
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:170)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling
(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile
(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java
:123)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java
:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java
:219)
at
com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:218)
at
com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:216)
at
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:50)
at
org.apache.struts2.dispatcher.Dispatcher.serviceAction
(Dispatcher.java:507)
at
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:421)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1041)
at
org.appfuse.webapp.filter.StaticFilter.doFilterInternal(StaticFilter.java:102)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1041)
at
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1041)
at
org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:99)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1041)
at
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:350)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1041)
at
org.displaytag.filter.ResponseOverrideFilter.doFilter
(ResponseOverrideFilter.java:125)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1041)
at
net.sf.ehcache.constructs.web.filter.GzipFilter.doFilter(GzipFilter.java
:75)
at
net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:92)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1041)
at
org.appfuse.webapp.filter.LocaleFilter.doFilterInternal
(LocaleFilter.java:63)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java
:1041)
at
com.opensymphony.clickstream.ClickstreamFilter.doFilter(ClickstreamFilter.java:42)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1041)
at
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:18
3)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java
:77)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1041)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java
:72)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java
:125)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java
:142)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.
java:81)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java
:217)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java
:229
)
at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
at
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
at
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1041)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal
(CharacterEncodingFilter.java:77)
at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java
:1041)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:354)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:226)
at
org.mortbay.jetty.handler.ContextHandler.handle
(ContextHandler.java:621)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149)
at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java
:123)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141)
at org.mortbay.jetty.Server.handle(Server.java:269)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java
:430)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:678)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:492)
at org.mortbay.jetty.HttpParser.parseAvailable
(HttpParser.java:199)
at
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:339)
at
org.mortbay.jetty.nio.HttpChannelEndPoint.run(HttpChannelEndPoint.java:270)
at
org.mortbay.thread.BoundedThreadPool$PoolThread.run
(BoundedThreadPool.java:475)
[
Michael Horwitz wrote:
> Could provide a stack trace so we can try and help you?
>
> Mike.
>
> On 5/4/07, *tibi* < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
<mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
>
> the strange thing is that i get the error message. but the
data gets
> inserted into the db....
>
> tibi
>
> tibi wrote:
> > ok i still have this error. i'm i bit lost where to look.
> > this is my situation.
> > when i use the generalmanager all was fine
> >
> > now i want to make my own dao
> > so i made a dao interface and implemented it.
> > i made a manager interface and implemented it and i change my
> > applicationcontext like this:
> > -------------old---------------------------
> > <bean id="eventSpanManager"
> > class=" org.appfuse.service.impl.GenericManagerImpl">
> > <constructor-arg>
> > <bean
> class="org.appfuse.dao.hibernate.GenericDaoHibernate"
> > autowire="byType">
> > <constructor-arg
>
> value="nl.topticketline.topnet.model.EventSpan"/>
> > </bean>
> > </constructor-arg>
> > </bean>
> > ------------/old------------------
> > ------------new----------------
> > <bean id="eventSpanDao"
>
> class="nl.topticketline.topnet.dao.EventSpanDaoHibernate ">
> > <property name="sessionFactory" ref="sessionFactory"/>
> > </bean>
> > <bean id="eventSpanManager"
> > class="
nl.topticketline.topnet.service.EventSpanManagerImpl
> ">
> > <constructor-arg ref="eventSpanDao"/>
> > </bean>
> > ---------------------------------------
> >
> > thanks for any help...
> >
> >
> > tibi
> >
> >
> >
> >
> >
> >
> > tibi wrote:
> >> ok i made my EventSpanManager which exposes all the dao
methods.
> >> in my action i now have
> >> GenericManager<EventSpan, Long> eventSpanManager;
> >>
> >> still get the same error...
> >>
> >> tibi
> >>
> >>
> >> tibi wrote:
> >>> ok i will need to make a manager like this
> >>> http://appfuse.org/display/APF/Services
> >>>
> >>> and simply expose all my methods from my doa to the
manager ?!
> >>>
> >>> tibi
> >>>
> >>> tibi wrote:
> >>>> in my daoHibernate class and interface i put:
> >>>> @Transactional(readOnly=false)
> >>>> but still the same error...
> >>>>
> >>>> tibi
> >>>>
> >>>> tibi wrote:
> >>>>>
> >>>>>> not require a constructor argument. The correct
configuration
> >>>>>> snippet for such a case is included at the end of the
> tutorial.
> >>>>> ok missed that sory
> >>>>>
> >>>>>> It all depends on how you access your DAO from your
web pages.
> >>>>>> Normally you only access your DAO through a manager
class,
> which
> >>>>>> is where the transactions get started. If you want
your DAO
> to be
> >>>>>> transactioned, you can either add the annotation
> @Transaction or
> >>>>>> change the Spring config to explicitly add
transactions to
> your DAO.
> >>>>>>
> >>>>> how would i access my doa through a manager in my action.
> >>>>> i now let it be injected by spring with this:
> >>>>> <bean id="eventSpanDaoManager"
> >>>>>
>
class="nl.topticketline.topnet.dao.EventSpanDaoHibernateManager ">
> >>>>> <property name="sessionFactory"
ref="sessionFactory"/>
> >>>>> </bean>
> >>>>>
> >>>>> and this:
> >>>>> <bean id="eventSpanAction"
>
>>>>> class="nl.topticketline.topnet.action.EventSpanAction"
> >>>>> scope="prototype"
> >>>>> autowire="default">
> >>>>> <property name="eventSpanManager"
> ref="eventSpanDaoManager"/>
> >>>>> <property name="companyManager"
ref="companyManager"/>
> >>>>> <property name="userManager" ref="myUserManager"/>
> >>>>> </bean>
> >>>>>
> >>>>> in my action i do this:
> >>>>> ...
> >>>>> eventSpanManager.save(eventSpan);
> >>>>> ...
> >>>>>
> >>>>> thanks tibi
> >>>>>
> >>>>>
>
---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> >>>>> For additional commands, e-mail:
> [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> >>>>>
> >>>>>
> >>>>
> >>>>
>
---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> >>>> For additional commands, e-mail:
> [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> >>>>
> >>>>
> >>>
> >>>
>
---------------------------------------------------------------------
> >>> To unsubscribe, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> >>> For additional commands, e-mail:
> [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> >>>
> >>>
> >>
> >>
>
---------------------------------------------------------------------
> >> To unsubscribe, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> >> For additional commands, e-mail:
> [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> >>
> >>
> >
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > For additional commands, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> >
> >
>
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> For additional commands, e-mail:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]