Spring和Hibernate保存不工作
我使用的是Hibernate和Spring3.0,我试图将值保存到数据库中,但当我看到控制台时,唯一的选择查询显示insert或update不显示,save不起作用 我创建了一个SessionFactorybean并将其注入到Impl中Spring和Hibernate保存不工作,spring,hibernate,struts2,Spring,Hibernate,Struts2,我使用的是Hibernate和Spring3.0,我试图将值保存到数据库中,但当我看到控制台时,唯一的选择查询显示insert或update不显示,save不起作用 我创建了一个SessionFactorybean并将其注入到Impl中 <bean id="GetStartedDAOBean" class="com.sample.dao.impl.GetStartedDAOImpl" > <property name="sessionfactory"
<bean id="GetStartedDAOBean" class="com.sample.dao.impl.GetStartedDAOImpl" >
<property name="sessionfactory" ref="sessionFactory">
</property>
</bean
<bean id="GetStartedActionBean" class="com.sample.action.GetStartedAction">
<property name="getStartedDAOImpl" ref="GetStartedDAOBean"></property>
<property name="industryDAOImpl" ref="IndustryDAOBean"></property>
<property name="stateDAOImpl" ref="stateDAOBean"></property>
</bean>
调试时,sessionFactory中有值,但它不保存任何值。并且也不显示任何插入的查询。没有错误
任何人都可以帮助我吗?在方法中尝试使用
@Transactional
,并将以下内容添加到您的XML中:
打开会话(在内存中)并将某些内容保存到其中,但只有在flush()时会话才会保存到数据库中。做一个
Session session = sessionfactory.openSession();
session.saveOrUpdate(customer);
session.flush();
另一种方法是提交事务,因此Hibernate将自动调用flush()
您已经给出了服务类的方法,并且
您必须在applicationon context.xml
文件中给出
因此,当任何人调用服务类的方法时,Transaction将由spring启动,它将处理提交和回滚。我必须给出@Transactionalwhere you calling save()method这与PSR的答案相同。正确,但除此之外,我还提到@Transactionl必须放在服务类上。它应该是“@Transactional”和“应用程序上下文”。而且,您只是复制了PSR的答案。
Session session = sessionfactory.openSession();
session.saveOrUpdate(customer);
session.flush();