getCurrentSession()仅在交易范围内有意义。
你需要声明一个合适的事务管理器,划分事务边界并在其中进行数据访问。例如,如下:
<bean id = "transactionManager" class = "org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name = "sessionFactory" ref = "sessionFactory" /></bean>
。
PlatformTransactionManager ptm = context.getBean(PlatformTransactionManager.class);TransactionTemplate tx = new TransactionTemplate(ptm);tx.execute(new TransactionCallbackWithoutResult() { public void doInTransactionWithoutResult(TransactionStatus status) { // Perform data access here }});


