Hibernate 休眠会话
我使用Seam+EJB+JPA+Hibernate和JbossAS6作为我的应用服务器。 我必须将JPA代码转换为hibernate,在部署时我得到以下错误 2011-07-06 01:49:15122错误[org.jboss.kernel.plugins.dependency.AbstractKernelController](HDScanner)安装到PostClassLoader时出错:name=vfs:///opt/jboss6/server/default/deploy/SMS-ear.ear state=ClassLoader mode=Manual requiredState=PostClassLoader:org.jboss.deployers.spi.DeploymentException:为单元加载拦截器类时发生异常vfs:///opt/jboss6/server/default/deploy/SMS-ear.ear/SMS-ejb.jar/ 以下是我在原始工作代码中更改的内容: 原始代码:Hibernate 休眠会话,hibernate,jpa,seam,Hibernate,Jpa,Seam,我使用Seam+EJB+JPA+Hibernate和JbossAS6作为我的应用服务器。 我必须将JPA代码转换为hibernate,在部署时我得到以下错误 2011-07-06 01:49:15122错误[org.jboss.kernel.plugins.dependency.AbstractKernelController](HDScanner)安装到PostClassLoader时出错:name=vfs:///opt/jboss6/server/default/deploy/SMS-ear
Query userQuery = em.createSQLQuery("select u.username from User u where u.username=#{user.username}");
List existing = userQuery.getResultList();
List existing = userQuery.getResultList();
修改代码:
org.jboss.ejb3.entity.HibernateSession hs = (HibernateSession)entityManager;
org.hibernate.Session em = hs.getHibernateSession();
log.info("Hibernate session"+em);
List existing = em.createSQLQuery("select u.username from User u where u.username=#{user.username}").list();
我想在我的应用程序中获取hibernate会话
我对JPA很陌生。我被这个问题困住了。
这是获得治疗的正确方法吗
问候
Jamshed似乎seam允许这种查询语法(这很奇怪)。您的异常似乎与更改无关
- 恢复更改并确保它重新开始工作
- 清洁环境
- 重新启动
原始答复:
其中u.username=:username
然后
query.setParameter(“username”,user.getUsername())
+1表示@Bozho;我建议使用em.createQuery(..)
,因为您似乎在使用对象模型。@jamshed katta在这里使用的是seam管理的持久性,语法是正确的。在部署时执行查询的可能性很小,因此报告的部署错误似乎与代码中的此类更改无关。那么seam会干扰查询语言吗?听起来很奇怪。。更新了答案