2017-08-24 65 views
0

重複條目'1'我有一個名爲Home.java的實體,它有一個List。 每個家庭應該有一個(也許)不同的設施。SpringBoot - JPA堅持@OneToMany關係對於密鑰

無論何時我想用它的設施創建一個新家時,由於重複鍵'1'而導致崩潰。

這是Home.java:

@Entity 
property="id") 
public class Home { 

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
private Integer id; 

@ManyToOne 
@JoinColumn(name = "user_id") 
private User user; 

private String title; 
private String subTitle; 
private String shortDescription; 
private String description; 
private String typeOfPlace; 
private Integer amountGuests; 
private Boolean dedicatedToGuests; 
private Integer bathrooms; 
private Boolean bathroomPrivate; 

@ElementCollection 
private List<Amenities> amenities; 

@OneToOne 
private Address address; 

@ElementCollection 
private List<String> pictures; 

@OneToOne 
private Zone zone; 

private Integer maxPeople; 

private Double cost; 

private Integer rooms; 
private Integer beds; 

@DefaultValue("false") 
private Boolean sponsored; 

@DefaultValue("0") 
private Double rate; 

@DefaultValue("false") 
private Boolean published; 

private Float lat; 

private Float lng; 

在Amenity.java我沒有回家的參考。

@Entity 

公共類設施{

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
private Integer id; 

private String name; 
private String imageUrl; 
private String icon; 

public Amenities() { 
} 

public Amenities(String name, String imageUrl) { 
    this.name = name; 
    this.imageUrl = imageUrl; 
} 

public Integer getId() { 
    return id; 
} 

public void setId(Integer id) { 
    this.id = id; 
} 

public String getName() { 
    return name; 
} 

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

public String getImageUrl() { 
    return imageUrl; 
} 

當我堅持它的工作原理,但如果我創建了一個新的家庭與一些相同的設施,它崩潰。

任何想法?

在此先感謝!

+0

看來你將相同的主鍵保存到數據庫中,爲什麼你會得到錯誤重複的條目,附上你的完整代碼我們可以分析它 –

+0

顯示你的代碼! – cliff2310

+0

是的,我們需要你的代碼來明確地幫助你。您的Home實體是否使用PK的自動生成策略進行了註釋。例如。 @GeneratedValue(strategy = GenerationType.AUTO)。並確保您在保留一個新的主頁之前不要在主頁上設置主關鍵字段。 – waltron

回答

1

我自己修復了。

看起來我不得不實施多對多關係。

謝謝大家!