Hibernate : persistence.xml中出错--元素'persistence-unit'不能包含文本内容。内容类型被定义为只包含元素

问题描述 投票:0回答:1

我使用Hibernate,下面的persistence.xml工作正常。但是在eclipse中从Table创建一个新的JPA实体后,persistence.xml给出了错误信息--元素'persistence-unit'不能包含文本内容。内容类型被定义为只包含元素。我已经从persistence.xml中删除了新的类,但错误仍然存在。

<persistence version="2.2"
    xmlns="http://xmlns.jcp.org/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
    <persistence-unit name="FirstJPAProject">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <class>com.boi.network.test.entity.Location</class>
        <class>com.boi.network.test.entity.Supportvendor</class>
        <class>com.boi.network.test.entity.Project</class>
        <properties>
            <!-- The JDBC URL to the database instance -->
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/boi?useSSL=false&amp;useJDBCCompliantTimezoneShift=true&amp;useLegacyDatetimeCode=false&amp;serverTimezone=UTC"></property>          
            <property name="javax.persistence.jdbc.user" value="dba"></property>
            <property name="javax.persistence.jdbc.password" value="12345"></property>
        </properties>
    </persistence-unit>
</persistence>```
hibernate persistence.xml persistence-unit jpa-2.2
1个回答
0
投票

Hibernate支持自动检测,所以只需要删除你的类元素并添加这个属性,同时用@Entity注解来注释你的类。

<persistence version="2.2"
    xmlns="http://xmlns.jcp.org/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
    <persistence-unit name="FirstJPAProject">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <!--<class>com.boi.network.test.entity.Location</class>
        <class>com.boi.network.test.entity.Supportvendor</class>
        <class>com.boi.network.test.entity.Project</class>-->
        <properties>
            <!-- The JDBC URL to the database instance -->
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/boi?useSSL=false&amp;useJDBCCompliantTimezoneShift=true&amp;useLegacyDatetimeCode=false&amp;serverTimezone=UTC"></property>          
            <property name="javax.persistence.jdbc.user" value="dba"></property>
            <property name="javax.persistence.jdbc.password" value="12345"></property>
            <property name="hibernate.archive.autodetection" value="class, hbm"/>
        </properties>
    </persistence-unit>
</persistence>```

请看一下这个 回答

© www.soinside.com 2019 - 2024. All rights reserved.