我们正在jboss 5.1.0.GA中运行一个应用程序,当我们尝试使用EntityManager.createQuery方法时它会抱怨。 org.hibernate.ejb.AbstractEntityManagerImpl中可以使用此方法的实现(可能还有我们代码中包含的其他一些地方)。
我怀疑它是从jboss libs目录中获取旧版本的hibernate。
我该如何解决这个问题?
代码看起来像这样:
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;
答案 0 :(得分:0)
好的我通过从方法中删除Class参数来修复它。似乎是在后来的hibernate方法中添加的:
List<UserGroup> userGroups= DbHelper.getNonNullEntityManager().createQuery("SELECT ug FROM UserGroup ug").getResultList();