Как указать идентификатор из нескольких столбцов в orm xml для объекта JPA? - PullRequest
0 голосов
/ 07 мая 2010

Я пытаюсь создать сущность JPA, подкрепленную представлением, у которого нет идентификатора. Строки уникально определяются двумя столбцами, идентификатором продукта и идентификатором узла. Как я могу указать, что идентификатор для сущности является многостолбцовым идентификатором, и сделать это, используя xml, а не аннотации?

1 Ответ

0 голосов
/ 07 мая 2010

Я указывал 'id' в качестве имени моего идентификатора, а не имен свойств объекта Java. У меня было это:

<entity class="com.MyEntity" name="MyEntity">
   <table name="MY_TABLE"/>
   <attributes>
       <id name="id">
           <column name ="NODE_ID" nullable="false"/> 
       </id>
       <id name="id">
           <column name ="PRODUCT_ID" nullable="false"/> 
       </id>
       <basic name="name"><column name="NAME" nullable="false"/></basic>
   </attributes>

Должно быть так:

<entity class="com.MyEntity" name="MyEntity">
   <table name="MY_TABLE"/>
   <attributes>
       <id name="nodeId">
           <column name ="NODE_ID" nullable="false"/> 
       </id>
       <id name="productId">
           <column name ="PRODUCT_ID" nullable="false"/> 
       </id>
       <basic name="name"><column name="NAME" nullable="false"/></basic>
   </attributes>

...