2011-01-03 4 views
0

Ich benutze EclipseLink als JPA Provider. Ich möchte, dass Eclipse Link meine Tabellen generiert, also habe ich Drop-and-Create-Tabellen als Eclipse-Link-DDL-Generierungsstrategie in der Datei persistence.xml verwendet.Eclipse Link Tabelle Generation Strategie

Meine Frage lautet wie folgt:

ich viele, viele relationship.i implementieren möchten haben eine Auktion Tabelle und eine Positionstabelle. Eine Auktion kann viele Artikel haben und ein Artikel kann in vielen Auktionen sein.

Als Eclipse Link die Tabellen generierte, sah ich, dass es vier Tabellen in der DB erstellt hatte. 1) Auktion 2) Auction_item 3) Artikel und 4) Item_auction.

Auction_item hat zwei Spalten 1) Auction_id 2) ITEM_ID Item_acution hat zwei Spalten 1) ITEM_ID 2) auction_id

So in allen Eclipse-Link hat auf seinen eigenen zwei Brücken Tabellen erstellt viele zu viele Beziehung zu kartieren.

Können wir nicht eine einzige Bridge-Tabelle mit auction_id, item_id haben, um dasselbe zu erreichen? Wenn wir nicht können, was sind die Gründe?

Dank

Antwort

2

Sie haben wahrscheinlich zwei @ManyToMany Zuordnungen aber die mappedBy Anzeige auf einer Seite fehlen. Dies wird verwendet, um anzuzeigen, dass eine Seite die auf der anderen Seite enthaltenen Zuordnungsinformationen verwendet und dass die Beziehung auf der Datenbankebene von dieser Seite gesteuert wird.
dh

Auction class{ 
    @ManyToMany 
    List items; 
} 

Items class { 
    @ManyToMany(mappedby="items") 
    List auctions; 
}