2011-07-22 6 views
3

私はUserとGroupと呼ばれる2つのエンティティクラスを持っています。両方の予約語は、データベースがそれらをテーブルとして受け入れるために区切る必要があります。エンティティを注釈:JPAデータベースデリミタ

@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> 

答えて

4

あなたはorm.xmlを追加することができる必要があり、それはあなたがまだ注釈で、あなたのすべてのマッピングを定義することができ、この設定を持っている必要があります。

+0

ありがとうございます!元の質問を更新して最終的なコードを追加しました。 – Laurens