2011-03-07 17 views
0

將相同的實體存儲在Hibernate中對於Hibernate來說,這是非常新的,所以這對你們來說可能是一件容易的事情。如何在Hibernate中的多元列表中使用JPA

由於主題說我試圖引用多個列表中的同一個實體。但是,當我嘗試這樣做時,我得到一個異常說:「關鍵的'military_id'的重複條目'5'」。 我GOOGLE了,但找不到解決我的問題。

我有一個實體,稱爲MilitaryUnitData這樣的:

@Entity 
public class MilitaryUnitData implements IMovable{ 
    private long Id; 

//snip 

    @Id 
    @GeneratedValue(strategy=GenerationType.TABLE) 
    public long getId() { 
     return Id; 
    } 
    public void setId(long id) { 
     Id = id; 
    } 

     //snip 
} 

和一類城市,我想保存我的單位在

@Entity 
public class CityData { 

private Collection<MilitaryUnitData> military = new ArrayList<MilitaryUnitData>(); 
private String name; 

//snip 

@Id 
    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

@OneToMany 
    @Column(nullable=false) 
    public Collection<MilitaryUnitData> getMilitary() { 
     return military; 
    } 

    public void setMilitary(Collection<MilitaryUnitData> military) { 
     this.military = military; 
    } 

//snip 
} 

時,我想提出一個單位出現的問題同時進入2個城市。 如何將映射更改爲存檔?

Thx提前。

+0

單位CAN屬於多個引用是否正確? – Dewfy 2011-03-07 10:24:10

回答

2

我想引用同一實體多個列表 看你的代碼後,我想你的意思是,相同MilitaryUnitData在幾個CityData使用?

如果這是正確的,比維吾爾船舶是M:N關係的船,你需要使用一個@ManyToMany代替@OneToMany的。

相關問題