我有 2 个实体:Person 和 Phone(一对多关系)。我想使用 JoinTable:
class Person
@OneToMany()
@JoinTable(name="PERSON_PHONES",
joinColumns={ @JoinColumn(name="PERSON_ID") },
inverseJoinColumns={ @JoinColumn(name="PHONE_ID") })
public List<Phone> getPhones(){...}
但是,由于某种原因我不能使用 JoinTable,所以我需要编写 PersonPhone 类。我怀疑关系,可能是这样吗?
Person -> PersonPhone:一对多双向 PersonPhone -> Phone:一对一单向
还有一个问题,如果我定义这个级联规则:
class Person {
@OneToMany(cascade=CascadeType.ALL,mappedBy="person")
public List<PersonPhone> getPersonPhones() {...}
...
}
class PersonPhone {
@OneToOne(cascade=CascadeType.ALL)
public Phone getPhone(){...}
...
}
// class phone has not fields for this relation
当一个人被删除时,一个人的电话会被删除吗?