2012-03-22 19 views
7

ben Sipariş ve Ürünler arasındaki bu bağlantının http://www.javaworld.com/javaworld/jw-01-2008/images/datamodel.gifHaritalama Ekstra Özellik bir katıl Tablo JPA 2

Onun Birçok ilişkiye zamanki Birçok sonrasında bu ilişkiyi modellemek çalışıyorum ama ekstra sütunların nasıl ekleneceğini bilmiyorum Tabloya katıl.

@Entity 
@Table(name = "Orders") 
public class Order { 
    @ManyToMany(cascade = CascadeType.ALL) 
    @JoinTable(name = "ORDER_LINES", joinColumns = { @JoinColumn(name = "ORDER_ID") }, inverseJoinColumns = { @JoinColumn(name = "PROD_ID") }) 
    private Set<Product> products; 
} 

@Entity 
@Table(name="PRODUCTS") 
public class Product { 
    @ManyToMany(mappedBy="products") 
    private Set<Order> orders; 
} 

JPA 2.0'de Ek Tabloya Nasıl Ek Eklenebilir?

sayesinde

cevap

21

JPA ilgili ek kalıcı özelliği (2.0) sahip olan bir kavram yoktur. Bu nedenle mülkiyet ile ilişki aslında ara varlıktır.

Hem Sipariş hem de Ürün varlıklarından, yeni varlık için bire çok ilişki gerekir. İki yönlü ilişki nedeniyle, yeni varlığın Sipariş ve Ürün ile bire bir ilişkileri olacaktır.

@Entity 
@Table(name="order_item") 
public class OrderItem { 
    @ManyToOne 
    private Order order; 
    @ManyToOne 
    private Product product; 
} 

@Entity 
public class Order { 
    @OneToMany (mappedBy = "order") 
    private Set<OrderItem> orderItems; 
} 

@Entity 
public class Product { 
    @OneToMany(mappedBy = "product") 
    private Set<OrderItem> orderItems; 
} 
+0

Teşekkür .. aldığım açınızı:

Böyle bir şey için gitmek gerekir (sökülüp sadece ilişkiler, kimliği var ve diğer eşleştirmeleri gösterir). Diğer soruma yardımcı olmak için lütfen rica edebilir miyim? http://stackoverflow.com/questions/9835124/jpa-manytomany-join-table-has-all-attributes-as-pk –