Hibernate 5.0.3持久性在独立项目中运行良好,但在Glassfish 4.1部署的EAR中失败

时间:2015-11-03 19:01:28

标签: java hibernate maven jpa glassfish

我有一个Maven企业项目,由ear,web和ejb模块组成。 EJB模块使用JPA持久性和Hibernate 5.0.3作为提供者。我有一堆JPQL查询使用“SELECT NEW com.package.path.CustomerReport(anotherEntityObject,COUNT(anotherEntityObject.repList))....”语法类型。当我在Glassfish之外测试这些查询时,它们工作得很好。但是,当我将项目作为一部分部署到Glassfish 4.1应用服务器时,部署过程失败。 Hibernate抱怨它找不到匹配的构造函数(“错误:无法在类上找到合适的构造函数......预期的参数是:...”)。构造函数在那里;并且参数的顺序是正确的。毕竟它在app服务器之外没有任何问题。

下面的一个主题建议在处理这些类型的查询时使用@SuppressWarning(“unchecked”)(S​​ELECT NEW ...)。这已由先前的开发人员放入代码中。使用EclipseLink时,我没有这个问题。我认为这将适用于Hibernate,因为我正在使用标准的JPA。有人一定有类似的问题。可能是导致此错误的原因是什么?可能是Maven构建项目的方式存在问题(可能不包括@SuppressWarning)?如果有人能提出问题的建议或解决方案,我将不胜感激。

非常感谢。

我考虑/看过的事情:

0 个答案:

没有答案