Hibernate oneToMany双向don';行不通

Hibernate oneToMany双向don';行不通,hibernate,jpa,Hibernate,Jpa,我有两个班,想建立双向多人关系。我上了家长课: @Entity @Table(name = "SECTIONS") public class Section_beta implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "SECTION_ID") public Long getId() { return id; } private List<Qu

我有两个班,想建立双向多人关系。我上了家长课:

@Entity
@Table(name = "SECTIONS")
public class Section_beta implements Serializable {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "SECTION_ID")
public Long getId() {
    return id;
}

private List<Question_beta> questions = new LinkedList<>();


@OneToMany(mappedBy = "section", cascade = {CascadeType.DETACH, CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH})
    @OrderColumn(name = "SECTION_QUESTION_ORDER")
    public List<Question_beta> getQuestions() {
        return questions;
    }

    public void setQuestions(List<Question_beta> questions) {
        this.questions = questions;
    }
问题是hibernate会崩溃,并显示以下消息:

Caused by: org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: Question_beta.SECTION_ID in Section_beta.questions.
我不知道怎么了,有人吗?

试试这个:

@ManyToOne(cascade = {...})
@JoinColumn(name = "SECTION_ID")
public Section_beta getSection() {
    return section;
}

@JoinColumn
中的“name”字段必须是Section_beta类中的id字段,而不是表中的id字段。

我尝试了你的建议,但得到了
,原因是:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:字段列表中的未知列“id”
。正如我在JPA文档中读到的,名称必须是sql表中字段的名称。您能在帖子中将id属性添加到类中吗?完成-我添加了请求的参数我想我知道了-我忘了告诉您我正在重写应用程序,但在alod dataTables上-这就是为什么,数据库中的一些字段在
部分id
中得到了
null
,所以我在我的代码中添加了:
@ManyToOne(optional=true,cascade=CascadeType.ALL)
,现在它看起来工作正常。好吧-至少它部署:)听到这个真是太好了!
@ManyToOne(cascade = {...})
@JoinColumn(name = "SECTION_ID")
public Section_beta getSection() {
    return section;
}