java如果我有entitymanager,如何获取会话对象?
我有
private EntityManager em;
public List getAll(DetachedCriteria detachedCriteria) {
return detachedCriteria.getExecutableCriteria("....").list();
}
如果使用entitymanager,如何检索会话,或者如何从分离的条件中获得结果
你可以在下面搜索框中键入要查询的问题!
我有
private EntityManager em;
public List getAll(DetachedCriteria detachedCriteria) {
return detachedCriteria.getExecutableCriteria("....").list();
}
如果使用entitymanager,如何检索会话,或者如何从分离的条件中获得结果
# 1 楼答案
请参阅Hibernate ORM User Guide中的“5.1.从JPA访问Hibernate API”一节:
# 2 楼答案
“整个经理。unwrap(Session.class)用于从EntityManager获取会话
演示应用程序link
# 3 楼答案
完全详尽地说,如果使用JPA1.0或JPA2.0实现,情况就不同了
JPA 1.0
在JPA1.0中,您必须使用^{} 。但请记住,这种方法的结果是特定于实现的,即使用Hibernate无法从应用服务器移植到其他应用服务器。例如with JBoss你会做:
但是with GlassFish,你必须做:
我同意,这太可怕了,这要归咎于规范(不够清楚)
JPA 2.0
在JPA2.0中,对于新的应用程序,有一种新的^{} 方法比^{} 更好
因此,使用Hibernate作为JPA 2.0实现(参见3.15. Native Hibernate API),您可以:
# 4 楼答案
我在Wildfly工作,但我在使用
正确的答案是
# 5 楼答案
这将更好地解释