java.lang.NoSuchMethodError: javax.persistence.EntityManager.createQuery when using jpa / hibernate
java.lang.NoSuchMethodError: javax.persistence.EntityManager.createQuery when using jpa / hibernate
我们是 运行 jboss 5.1.0.GA 中的一个应用程序,当我们尝试使用 EntityManager.createQuery 方法时它会报错。 org.hibernate.ejb.AbstractEntityManagerImpl 中提供了此方法的实现(可能还有我们代码中包含的其他一些地方)。
我怀疑它正在从 jboss libs 目录中获取旧版本的休眠。
我该如何解决这个问题?
代码看起来像这样:
List<UserGroup> userGroups= DbHelper.getNonNullEntityManager().createQuery("SELECT ug FROM UserGroup ug", UserGroup.class).getResultList();
例外情况是:
java.lang.NoSuchMethodError: javax.persistence.EntityManager.createQuery(Ljava/lang/String;Ljava/lang/Class;)Ljavax/persistence/TypedQuery;
好的,我通过从方法中删除 Class 参数来修复它。好像是在后来的hibernate方法中加入的:
List<UserGroup> userGroups= DbHelper.getNonNullEntityManager().createQuery("SELECT ug FROM UserGroup ug").getResultList();
我们是 运行 jboss 5.1.0.GA 中的一个应用程序,当我们尝试使用 EntityManager.createQuery 方法时它会报错。 org.hibernate.ejb.AbstractEntityManagerImpl 中提供了此方法的实现(可能还有我们代码中包含的其他一些地方)。
我怀疑它正在从 jboss libs 目录中获取旧版本的休眠。
我该如何解决这个问题?
代码看起来像这样:
List<UserGroup> userGroups= DbHelper.getNonNullEntityManager().createQuery("SELECT ug FROM UserGroup ug", UserGroup.class).getResultList();
例外情况是:
java.lang.NoSuchMethodError: javax.persistence.EntityManager.createQuery(Ljava/lang/String;Ljava/lang/Class;)Ljavax/persistence/TypedQuery;
好的,我通过从方法中删除 Class 参数来修复它。好像是在后来的hibernate方法中加入的:
List<UserGroup> userGroups= DbHelper.getNonNullEntityManager().createQuery("SELECT ug FROM UserGroup ug").getResultList();