To release the connection, you may call:
emf.close();
emf.close();
解决方案 »
- 请教高手:在action中如何取得<s:checkboxlist>其选中的值?
- 请问这个access数据库怎么写插入数据的语句
- Struts+Hibernate放到服务器上过段时间就出错,求大虾帮助啊啊,急急急,愁死了快
- 线程关闭-变量赋值
- 什么是 websphere network deployment?
- Hibernate 的Session flush设计是否有问题?
- 提取邮件中的编码应该怎么提取
- HIBERNATE醒目.请问为什么总是会出现"事务不再活动"的错误呢?
- 放分!我终于把one2one,one2many,many2many,所有的关系都搞定了。
- 关于 Struts 的标签问题
- 向已由xml文件 添加数据.[java]
- 已经添加activation.jar,为什么还会出错呢?请高手指点!!!!!!!
finally{
em.close();
emf.close;
}但是此时(用emf的时候),下面的Sql文就执行不了了,
StringqueryString = "DELETE FROM IWUser user " +
"WHERE user.userType = :userType " ;错误提示就是: No mapping for IWUser. 如果我写成 em.find(UserBean.class, id) 的话, 就是不认这个EntityBean, 所以呢就没法和数据库链接,下面的close 也就不能说明什么了!
可以把EntityManagerFactory放到一个Singleton里。然后对每个请求创建EntityManager并释放就行了。
fake code:
static EntityManagerFactory factory=Persistence.createEntityManagerFactory();public void request(){
EntityManager em=factory.createEntityManager();
try{
//use em to do your business
}finally{
em.close();
}
}remember to release the factory when your app exit.
我想你还是没明白我的问题。如果 用EntityManagerFactory去创建 EntityManager的场合下,此时首要问题并不是能否释放链接了?
首要问题是下面的SQL 文就首先执行不了了:
StringqueryString = "DELETE FROM IWUser user " +
"WHERE user.userType = :userType " ; ---〉 No mapping for IWUser em.find(UserBean.class, id) ———〉 UserBean cannot be found 也就是说,此时根本就没和数据库建立起链接呢, 下面的close()也就没什么意义了!所以: 在使用EntityManagerFactory去创建 EntityManager的场合, 我的首要问题是:
1.如何使上述SQL语句能够执行?
只有这个问题解决了, 我才能够接着下一步的验证,验证close是否生效?
啰嗦这么多, 希望你能理解我的意思!