我正在从事一个使用 Hibernate3 和 JDBC 与我们的数据库 (MSSQL 2008) 连接/交互的项目
目前,我们在主类中创建 session 工厂,然后开始我们的事务,然后我们启动一个新线程,该线程创建连接等等。我会看看我是否可以用一些伪代码来说明这一点......
public static main(String[] args){
for(...){
SessionFactory sf = new SessionFactory();
sf.getCurrentSession.beginTransaction();
CreateNewThreadedObject.run();
sf.getCurrentSession.getTransaction.commit();
}
}
我的问题是,这样安全吗?我知道 session 不是线程安全的,但我并没有真正在线程中使用 session 。如果有的话,我正在使用交易。将 session 工厂传递给线程对象会更好吗?任何建议表示赞赏!
最佳答案
了解 Hibernate session 和线程关联非常重要,最好在此处进行解释:
http://community.jboss.org/wiki/Sessionsandtransactions
如果您使用的是 Web 应用程序,我强烈建议您使用 Open Session in View 模式:
关于java - 使用线程的 Hibernate session 和事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4684880/