hibernate - Hibernate:persistence.xml 中的错误 - 元素“persistence-unit”不能包含文本内容。内容类型被定义为仅元素
问题描述
我正在使用 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&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&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 支持自动检测,因此只需删除您的类元素并添加此属性,还可以使用 @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&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&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>```
看看这个答案
推荐阅读
- python - PYTHON:如果在调用函数时参数中缺少 kwargs 键,则设置默认值
- arrays - linux内核模块的数组中逐行读取文件
- spring - Spring Security Oauth2 + OIDC (OpenID Connect) OP 使用多个 RP 发起/反向通道注销
- c - C中带有2个分隔符的Strtok
- permutation - 为什么使用 set.seed() 不能得到恒定的结果?
- java - Java Maven 项目找不到依赖项
- r - 2-Way Anova Loop & 导出到 CSV 或 Excel 表
- spring-boot - OkHttp 调用超时被忽略
- loops - 程序集:如何返回指针?
- reactjs - @msal-browser loginPopup() 方法只获取不记名令牌