有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

hibernate中一对多关系映射中的java错误

我有两个表:opinionPollresult

One(opinionPoll) to Many(result) relation

当我尝试使用别名从其他表中获取记录时,映射出错。 当我删除父对象时,子对象(结果)不会被删除,而是父对象被删除。我认为我的问题在于映射,所以下面是我的表的代码

征求意见:

@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;

共 (1) 个答案

  1. # 1 楼答案

    试试这个:

    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;