我使用javax.persistence.JoinColumn.foreignKey
在我的代码。这个项目使用WildFly服务器运行良好,但是当我使用Jboss EAP 6.1时,它会给出以下错误:
java.lang.NoSuchmethod odError:javax.persistence.JoinColumn.foreignKey()Ljavax/持久化/ForeignKey;org.hibernate.cfg.注释Binder.bindManyToOne(注释Binder.java:2884)org.hibernate.cfg.注释Binder.bindOneToOne(注释Binder.java:3051)org.hibernate.cfg.注释Binder.process元素注释(注释Binder.java:1839)org.hibernate.cfg.注释Binder.process身份属性IfNotAlnow(注释Binder.java:963)org.hibernate.cfg.注释Binder.bind类(注释Binder.java:796)
当我进一步研究这个问题时,我发现JBoss库不支持连接列。
但是,我的项目库支持联接列,我打算在代码中使用这些库。但是Jboos库似乎覆盖了类路径中的库。
我在jboss部署结构中尝试了以下代码。xml
<exclusions>
<module name="javax.persistence.api"/>
<module name="javaee.api"/>
</exclusions>
但我的错误率越来越低
11:19:55195错误[org.jboss.msc.service.fail](msc服务线程1-7)MSC000001:无法启动服务jboss。部署。单元“我的申请战争”。解析:org。jboss。理学硕士。服务服务jboss中的StartException。部署。单元“我的申请战争”。解析:JBAS018733:无法处理部署“myappl.war”的阶段解析,原因是:java。lang.IllegalStateException:JBWS021001:意外的元素分析处理程序:处理程序配置
这个问题的根本原因是EAP 6.3. x基于JavaEE 6规范,JPA 2.0是该规范的一部分。Hibernate(4.3. x)的最新版本包含JPA的2.1版,这是JavaEE 7规范的一部分。理论上,为了解决这个问题,在jboss-deployment-structure.xml文件中排除“org.hibernate”模块和“javax.persistence”就足够了,但它并没有解决问题。根据红帽的说法,这是一个BUG。
1)一个解决方案是使用EAP 6.3. x发行版中的Hibernate版本。解决,但一个应用程序不能保持到一个服务器库的版本。
2) 另一个解决方案是直接在\JBOSS\u DIST\modules\system\layers\base\javax\persistence\api\main中的发行版中将JPA 2.0的版本更改为2.1。也可以解决,但此解决方案不可接受,因为应用程序使用的是Hibernate版本6.3。EAP中存在的x可能会受到影响。
3) 我们可以按照这个地址中的步骤来做http://mariemjabloun.blogspot.com.br/2014/03/use-jboss-jpa-21-and-hibernate-43-on.html,但特别是找到了一个非常费劲的解决方案。
4) 最后,经过多次搜索和尝试,在RedHat的网站上找到了解决问题的合理解决方案:https://access.redhat.com/solutions/404223.我相信在EAP的未来版本中,它应该得到纠正。
JBossEAP6。javax与jpa2.0api兼容,而javax与jpa2.0api兼容。坚持不懈JPA2.1中添加了ForeignKey。
为了使它工作,您需要手动集成它。可以在此处找到可能的解决方法
我有一个Play框架应用程序,我使用的是Hibernate 4.2。5.最终版本(通过Maven依赖关系管理器检索)。我决定升级到Hibernate4.3。0.最后,成功重新编译我的应用程序并运行它。 我得到了下面的例外,并没有能够找出原因。我降级回到4.2.5,这个问题没有发生。然后,我尝试在4.2.5之后的每个最终版本中升级Hibernate。也就是说,我从4.2.5。最终到4.2.6。最后,
我在启动我的web应用程序时遇到了这个错误,我真的不知道问题出在哪里,全速: 组织。springframework。豆。工厂UnsatisfiedPendencyException:创建名为“usuarioController”的bean时出错,该名称在文件[C:\Users\Carlos\eclipsejee workspace.metadata.plugins\org.eclipse.wst.
创建在类路径资源[ApplicationContext.xml]中定义的名为“sessionFactory”的bean时出错:调用init方法失败;嵌套异常为java。lang.NoSuchMethodError:javax。坚持不懈唯一约束。name()Ljava/lang/String; 这有什么不对吗? 我用的是 有人告诉我这是“hibernate-jpa-2.0-api-1.0.0.jar
我正在开发Spring Boot应用程序,在启动服务器时遇到了这个错误。我不确定是否错误地定义了任何注释或缺少任何依赖项。任何帮助都将不胜感激。 主要类: UserService类: UserDAO类: @repository公共类UserDAO实现IUserDAO{ Build.gradle: 错误消息: 我看到了所有相关的答案,并尝试实现这些建议,如添加依赖项、在主类中添加符号等。但它显示了相
我有一个问题,这似乎是非常类似于如何创建一个Jandex索引在Quarkus的类在一个外部模块,我仔细地按照所有建议的步骤(jandex maven插件,空beans.xml,索引其他依赖)。 与上述问题的一个明显区别是,quarkus在我的案例中没有找到第三方类,所以我尝试“索引其他依赖项”。然而,javax。坚持不懈AttributeConverter是maven模块javax的一部分。持久性
我目前正在使用Spring Boot 2.1.1。发布,Hibernate Envers 5.3.7。最终的 当我为我的用户类查询AuditEntity时,它会抛出javax。坚持不懈EntityNotFoundException表示我的用户记录不存在。然而,在数据库中它确实存在。有人知道为什么吗? 用户实体 在查询审核实体时,属性createByUser updateByUser抛出异常java