vik*_*iii 69 java hibernate hibernate-mapping hibernate-annotations
我正在尝试使用Hibernate注释为我的数据库表编写模型类.
我有两个表,每个表都有一个主键User和Question.
@Entity
@Table(name="USER")
public class User
{
@Id
@Column(name="user_id")
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@Column(name="username")
private String username;
// Getter and setter
}
Run Code Online (Sandbox Code Playgroud)
问题表.
@Entity
@Table(name="QUESTION")
public class Questions extends BaseEntity{
@Id
@Column(name="question_id")
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;
@Column(name="question_text")
private String question_text;
// Getter and setter
}
Run Code Online (Sandbox Code Playgroud)
我还有一个表UserAnswer,它有userId和questionId作为上述两个表中的外键.
但我无法找到如何在UserAnswer表中引用这些约束.
@Entity
@Table(name="UserAnswer ")
public class UserAnswer
{
@Column(name="user_id")
private User user;
//@ManyToMany
@Column(name="question_id")
private Questions questions ;
@Column(name="response")
private String response;
// Getter and setter
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
JB *_*zet 59
@Column不是合适的注释.您不希望在列中存储整个用户或问题.您想要在实体之间创建关联.首先重命名Questions为Question,因为实例代表一个问题,而不是几个问题.然后创建关联:
@Entity
@Table(name = "UserAnswer")
public class UserAnswer {
// this entity needs an ID:
@Id
@Column(name="useranswer_id")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToOne
@JoinColumn(name = "user_id")
private User user;
@ManyToOne
@JoinColumn(name = "question_id")
private Question question;
@Column(name = "response")
private String response;
//getter and setter
}
Run Code Online (Sandbox Code Playgroud)
在Hibernate文档解释了.阅读.并且还阅读了注释的javadoc.
Vai*_*ain 13
有很多答案,而且都是正确的。但不幸的是,他们都没有一个明确的解释。
以下内容也适用于非主键映射。
假设我们有父表 A 的第 1 列和另一个表 B 的第 2 列引用第 1 列:
@ManyToOne
@JoinColumn(name = "TableBColumn", referencedColumnName = "TableAColumn")
private TableA session_UserName;
Run Code Online (Sandbox Code Playgroud)
@ManyToOne
@JoinColumn(name = "bok_aut_id", referencedColumnName = "aut_id")
private Author bok_aut_id;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112270 次 |
| 最近记录: |