Java Spring Hibernate会话工厂配置
我对hibernate有点问题 我有一些简单的刀Java Spring Hibernate会话工厂配置,java,spring,hibernate,Java,Spring,Hibernate,我对hibernate有点问题 我有一些简单的刀 @Repository public class UserDAOImpl implements UserDAO { @Autowired private SessionFactory sessionFactory; private Session openSession() { return sessionFactory.getCurrentSession(); } @Transactional public User getUser
@Repository
public class UserDAOImpl implements UserDAO {
@Autowired
private SessionFactory sessionFactory;
private Session openSession() {
return sessionFactory.getCurrentSession();
}
@Transactional
public User getUser(String login) {
List<User> userList;
Query query = openSession().createQuery("from User u where u.login = :login");
query.setParameter("login", login);
userList = query.list();
if (userList.size() > 0)
return userList.get(0);
else
return null;
}
}
我在哪里?在UrserDaoImpl Classis上添加@Transactional我只是想了解为什么它应该是事务性的?
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
org.hibernate.HibernateException: No Session found for current thread
org.springframework.orm.hibernate4.SpringSessionContext.currentSession(SpringSessionContext.java:97)
org.hibernate.internal.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:941)