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]

Reply via email to