У меня есть два класса сущностей, называемых Пользователь и Группа, оба зарезервированных слова, которые должны быть разделены, чтобы база данных принимала их в виде таблиц. Аннотирование сущностей с помощью:
@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>