2012-03-22 16 views
7

मैं आदेश और उत्पाद के बीच कई रिश्ते को हमेशा की तरह कई लोग इस लिंक http://www.javaworld.com/javaworld/jw-01-2008/images/datamodel.gifमानचित्रण अतिरिक्त गुण एक साथ जुड़ें टेबल जेपीए 2

इसके बाद इस संबंध मॉडल करने के लिए कोशिश कर रहा हूँ, लेकिन मैं कैसे में अतिरिक्त स्तंभ जोड़ने का नहीं जानता टेबल में शामिल हों

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

जेपीए 2.0 में अतिरिक्त तालिका में अतिरिक्त विशेषता कैसे जोड़ें?

धन्यवाद

उत्तर

21

जेपीए में संबंध में अतिरिक्त लगातार विशेषता (2.0) होने की कोई अवधारणा नहीं है। यही कारण है कि संपत्ति के साथ संबंध वास्तव में मध्यवर्ती इकाई है।

ऑर्डर और उत्पाद इकाइयों दोनों से, आपको नई इकाई के साथ कई से अधिक संबंधों की आवश्यकता है। द्विपक्षीय संबंधों के कारण, नई इकाई के आदेश और उत्पाद के लिए एक से अधिक रिश्ते होंगे।

@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

धन्यवाद अपनी बात .. मुझे मिल गया:

आप कुछ इस तरह के लिए जाने की जरूरत है (केवल रिश्ते, पहचान-पत्र और अन्य मैपिंग दूर छीन दिखाता है)। क्या मैं अपने दूसरे प्रश्न पर मेरी मदद करने के लिए अनुरोध कर सकता हूं? http://stackoverflow.com/questions/9835124/jpa-manytomany-join-table-has-all-attributes-as-pk –

संबंधित मुद्दे