Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringBoot-JPA持久化@OneToMany关系重复条目';1';钥匙_Java_Spring Boot_Spring Data - Fatal编程技术网

Java SpringBoot-JPA持久化@OneToMany关系重复条目';1';钥匙

Java SpringBoot-JPA持久化@OneToMany关系重复条目';1';钥匙,java,spring-boot,spring-data,Java,Spring Boot,Spring Data,我有一个名为Home.java的实体,它有一个列表。 每个家庭都应该有(可能)不同的设施 当我想用它的便利设施建造一个新家时,它会崩溃,因为钥匙的重复输入“1” 这是Home.java: @Entity property="id") public class Home { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; @ManyToOne @JoinColumn(name = "use

我有一个名为Home.java的实体,它有一个列表。 每个家庭都应该有(可能)不同的设施

当我想用它的便利设施建造一个新家时,它会崩溃,因为钥匙的重复输入“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;
公共设施{

@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;
}
当我坚持的时候,它会起作用,但如果我用同样的设施建造一个新家,它就会崩溃

有什么想法吗

提前谢谢!!

我自己修好了

看起来我不得不实现多对多关系


谢谢大家!

看来您正在将同一主键保存到数据库中,这就是为什么会出现错误重复条目,请附上完整的代码,我们可以分析它如何显示您的代码!是的,我们需要您的代码来帮助您确定。您的主实体是否使用PK的自动生成策略进行注释。例如@GeneratedValue(strategy=GenerationType.AUTO)。并确保在保留新字段之前未在Home上设置主键字段。使用代码更新了帖子。问题似乎出在关系表Home_便利设施中。在该关系表中,当必须为不同的Home id复制便利设施id时,它强制便利设施id是唯一的。
@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;
}