Я пытаюсь сохранить следующие 2 сущности Person
и Company
и получить приведенную ниже ошибку, когда у меня есть CascadeType.PERSIST
лично. Однако, когда я изменяю его на CascadeType.ALL
, ошибка исчезает. Разве CascadeType.PERSIST
не должен служить цели?
У меня many-to-one
отношения между Person
и Company
Person p1= new Person("GuyOne");
Company c1 = new Company("Amazon");
p1.setcompany(c1);
session.save(p1);
EDIT:
Человек
@Entity
public class Person {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
int id;
String name;
@ManyToOne(cascade=CascadeType.PERSIST)
@JoinColumn(name="company_id")
Company company;
public Person()
{}
public Person(String name) {
super();
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Company getcompany() {
return company;
}
public void setcompany(Company c) {
this.company = c;
}
Компания
@Entity
public class Company {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
int id;
String name;
@OneToMany(mappedBy="company")
List<Person> persons= new ArrayList<Person>();
public Company()
{}
public Company(String name) {
super();
this.name = name;
}
public List<Person> getPersons() {
return persons;
}
public void setPersons(List<Person> persons) {
this.persons = persons;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}