为什么我无法在RAD7中将项目方面的JPA版本更改为2.0?

时间:2017-07-31 09:09:00

标签: spring hibernate jpa rad

我无法在 RAD7 中将JPA版本从 1.0更改为2.0 ,这导致我出现以下问题:

  

NoSuchMethodError:javax / persistence / spi / PersistenceUnitInfo.getSharedCacheMode()Ljavax / persistence / SharedCacheMode;

当我进入项目方面时,它已修复为1.0并且我无法更改它,任何帮助都将受到高度赞赏。

注意:如果我无法改变它,我会很高兴知道什么是未知方法,所以我可以根据它的重要性将其删除,谢谢。

编辑:当我更改presistence.xml标题中的版本时:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_0.xsd ">
<persistence-unit name="ReportManager" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>

我收到此错误:

  

cvc-complex-type.3.1:元素属性'version'的值'2.0'   'entity-mappings'对应的相应无效   属性使用。属性'version'的固定值为'1.0'

1 个答案:

答案 0 :(得分:0)

您还应该将javax.persistence从1.x升级到2.x,例如,javax.persistence-2.1.0.jar。

的pom.xml

<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>javax.persistence</artifactId>
    <version>2.1.0</version>
</dependency>