我有两个表:opinionPoll
和result
。
具有One(opinionPoll) to Many(result) relation
。
当我尝试使用Alias从其他表获取记录时,出现映射错误。
当我删除父级子级(结果)时,不会删除而是删除父级。我认为我的问题在于映射,因此我的表的以下代码。
意见调查:
@OneToMany(cascade = { CascadeType.ALL }, fetch = FetchType.EAGER)
@Fetch(value = FetchMode.SUBSELECT)
@JoinColumn(name = "pid", nullable = false, updatable = true)
private List<PollResult> pollResults = new ArrayList<PollResult>() ;
对于结果:
@ManyToOne(cascade = { CascadeType.ALL })
@JoinColumn(name = "pid", insertable = false, updatable = false)
private OpinionPoll opinionPoll;
最佳答案
尝试这个 :
For OpinionPoll:
// mappedBy "opinionPoll" --> the OpinionPoll object in Result class
@OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL,mappedBy="opinionPoll")
private List<PollResult> pollResults = new ArrayList<PollResult>() ;
For Result :
@ManyToOne
@JoinColumn(name = "pid")
private OpinionPoll opinionPoll;