Spring 和Hibernate 整合的问题
Spring和hibernate整合之后,执行一个方法,发出了sql语句:Hibernate: insert into users (name, password) values (?, ?)。但是我到mysql查询的时候,并没有查到insert的数据。
当我粘贴这段语句到mysql中执行,是可以顺利执行的,所以sql语句没有问题。而且我写了Try catch语句,没有抛出异常。
我觉得问题在于事物没有提交。请问各位这是个什么原因?
ApplicationContext.xml:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation"
value="file:src/hibernate.cfg.xml">
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="add*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut expression="execution(* com.lizhaog.dao.UserManagementImpl.*.*(..))" id="addManagerMethod"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="addManagerMethod"/>
</aop:config>
<bean id="UserManagementImpl" class="com.lizhaog.dao.UserManagementImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
UserManagementImpl.class:
Java code
public void addUser(String name, String password){
try {
User user = new User();
user.setName(name);
user.setPassword(password);
this.getSession().save(user);
} catch (DataAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
User就是一个普通的实体类,包括 id。name 和password三个属性
main方法为:
Java code
public static void main(String args[]){
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
UserManagementImpl userManage = (UserManagementImpl) factory.getBean("UserManagementImpl");
userManage.addUser("test", "2");
}
------解决方案--------------------
com.lizhaog.dao.UserManagementImpl.*.*(..)
这个切面怎么说啊 ~~~ UserManagementImpl 下面的所有方法、所有........!!!
你直接切dao就OK了~~~!
还有、怎么切面切dao干什么?
切Serivce层嘛!
Java code
读到数据的时候必须 插入和查找的两条语句 同时执行。。
------解决方案--------------------
Up...
恭喜。
------解决方案--------------------
在同一个session中是可以查到的。但是由于事务没有提交,另外的session就查不到数据、