【问题标题】:JPA database delimitersJPA 数据库分隔符
【发布时间】:2011-07-22 14:57:52
【问题描述】:

我有一个名为 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 注入实际的实体管理器?

谢谢!

更新:

谢谢詹姆斯。我最终得到了以下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>

【问题讨论】:

    标签: jakarta-ee jpa eclipselink


    【解决方案1】:

    你应该可以添加一个orm.xml,它只需要有这个设置,你仍然可以在注解中定义你所有的映射。

    【讨论】:

    • 谢谢!我更新了我的原始问题以包含最终代码。
    猜你喜欢
    • 2023-02-11
    • 2014-03-23
    • 2012-11-20
    • 2017-06-21
    • 2013-11-27
    • 2015-10-12
    • 2010-09-22
    • 2018-10-25
    • 1970-01-01
    相关资源
    最近更新 更多