我有一个名为 User 和 Group 的两个实体类,这两个保留字都需要分隔,以便数据库将它们作为表接受。用以下方式注释实体:
@Table(name = "\"USER\"")
可以解决问题,但我读到 EclipseLink 允许您指定一个自动分隔名称的全局变量。根据http://dev.eclipse.org/mhonarc/lists/eclipselink-users/msg03434.html ,您需要在 orm.xml 中包含以下内容:
<persistence-unit-metadata>
<persistence-unit-defaults>
<delimited-identifiers/>
</persistence-unit-defaults>
</persistence-unit-metadata>
但是,我已经注释了我的类,并且没有 orm.xml,只有一个 persistence.xml,根据同一来源,我不能包含该属性。还有其他地方我可以指定:
eclipselink.database.delimiters = true
当通过@PersistenceContext 注入(inject)实际的实体管理器时?
谢谢!
更新:
谢谢詹姆斯。我最终得到了以下
orm.xml
它完美地做到了!<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings version="1.0" xmlns="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_1_0.xsd">
<persistence-unit-metadata>
<persistence-unit-defaults>
<delimited-identifiers/>
</persistence-unit-defaults>
</persistence-unit-metadata>
</entity-mappings>
最佳答案
您应该可以添加一个 orm.xml,它只需要具有此设置,您仍然可以在注释中定义所有映射。
关于jakarta-ee - JPA 数据库分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6791882/