hibernate4 问题篇(二)javax.persistence.Table.indexes()不存在ITeye - 超凡娱乐

hibernate4 问题篇(二)javax.persistence.Table.indexes()不存在ITeye

2019-01-11 11:12:43 | 作者: 康震 | 标签: 问题,引进,这个 | 浏览: 118

    在运用Hibernate注解做映射时,遇到了一个问题:

     java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;

    依照以往的经历一般有几个方历来考虑这个问题,其一是少引进了jar包,其二jar包引进了,可是或许版别比较低,还有一种是jar包多引进了,引起了jar包的抵触,低版别和适宜版别的都引进了,编译器不知道该运用哪个jar包,这样也会形成上面的原因。

    很快排除了上面的第一个原因,经过查询发现Hibernate4.3.11有一个比较重要的特性对JPA2.1的支撑,经过查询得知J2EE 7.0才开端支撑JPA2.1,开发东西选用的是MyEclipse10.0.7,这个版别并不支撑J2EE7.0,开始想到一种处理问题思路,怎么引进J2EE 7.0 Libraries,顺着这个问题,可是没有成功,后来挑选直接在构建途径中移除了J2EE5.0Libraries,成果选用main办法进行测验创立SessionFactory目标成功了,并且在Java实体类上的注解也没有报错,所以猜测是因为引进的低版别的jar包,并且这个jar包就存在J2EE5.0Libraries中与hibernate结构中的jar包引起了抵触。

     终究的处理方案:移除 J2EE5.0 Libraries,或许为东西引进 支撑JPA2.1的 J2EE 7.0 Libraries,或许是因为MyEclipse东西优先运用Myeclipse中jar包,并且Hibernate结构中有JPA2.1的jar包hibernate-jpa-2.1-api-1.0.0.Final.jar。

      猜测: 结构中hibernate-jpa-2.1-api-1.0.0.Final.jar现已包括javax.persistence包中注解了。 J2EE5.0 Libraries的javax.persistence是依照jpa2.0规范界说的注解 ,这两个jar包产生了抵触,这是我个人的了解或许不完全正确,可是经过移除抵触jar包的处理这个问题来看至少能够佐证我的主意。

版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表超凡娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章