2011-12-26 5 views
1

Я новичок в Hibernate и пытаюсь отобразить дополнительные столбцы в таблице соединений родительскому классу. Я мог бы найти пример на http://docs.jboss.org/hibernate/core/3.5/reference/en/html/components.htmlКомбинированная аннотация Hibernate

<class name="eg.Order" .... > 
.... 
<set name="purchasedItems" table="purchase_items" lazy="true"> 
<key column="order_id"> 
<composite-element class="eg.Purchase"> 
<property name="purchaseDate"/> 
<property name="price"/> 
<property name="quantity"/> 
<many-to-one name="item" class="eg.Item"/> <!-- class attribute is optional --> 
</composite-element> 
</set> 
</class> 

Я хочу, приведенные выше пример XML в чистой аннотации. Любая помощь будет оценена.

Благодаря

ответ

0

См http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#collections-ofvalues. аннотации являются частью спящего ядра с 3,6, IIRC, и документация для аннотаций, таким образом, включена в основную документацию 3.6. Для предыдущих версий, она была документирована отдельно (см http://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#d0e1821) класс

0

Purchase:

package eg; 

@javax.persistence.Embeddable 
public class Purchase{ 

    private Date purchaseDate; 
    private Double price; 
    private Integer quantity; 

    @javax.persistence.ManyToOne 
    private Item item; 

    // getters and setters 
} 

класс Order:

package eg; 

@javax.persistence.Entity 
public class Order { 

    @javax.persistence.ElementCollection(fetch = javax.persistence.FetchType.LAZY) 
    @javax.persistence.CollectionTable( 
     name = "purchase_items", 
     joinColumns = @JoinColumn(name = "order_id") 
    ) 
    java.util.Set<eg.Purchase> purchasedItems; 

    // getter and setter for purchasedItems 
} 
Смежные вопросы