2017-08-24 49 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

我自己修复了。

看起来我不得不实施多对多关系。

谢谢大家!