我正在尝试使用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
}
问题表。
@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
}
我还有一个表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
}
我该如何实现?
@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
}
在Hibernate文档解释了。阅读。并阅读注释的javadoc。
我正在尝试使用Hibernate注释为我的数据库表编写一个模型类。 我有两个表,每个表都有一个主键用户和问题。 问题桌。 并且我还有一个表UserAnswer,它有userId和questionId作为来自上面两个表的外键。 但我无法找到如何在UserAnswer表中引用这些约束。 我怎样才能做到这一点呢?
hibernate如何生成外键约束名称? 如果我不定义一个名字,Hibernate会生成这样的东西 这个名字是如何产生的?可能是从字段名散列或类似的内容?我需要知道名称是否在所有实例上都相等。
//获取和设置 以下是我给用户的POJO:
我有一个2个实体和,其中引用。这是一个多(子)对一个(父)关系,定义如下: 和 Micronaut Data在创建架构时执行以下SQL查询: 创建一个表<code>parent_entity</code>(<code>id</code>BIGINT不为空,<code>name</code>VARCHAR(255)不为空); 创建表< code > child _ entity (< code >
我正在做一个基本的例子来测试级联删除操作,但我得到了异常。这是我的实体
问题内容: 我在我们的项目和Hibernate Domain Pojo对象的基于注释的配置中使用Hibernate。对于基于注释的配置,我们有两个选择 使用基于JPA的注释 使用Hibernate本机注释 当前,我们对POJO文件使用基于JPA的注释配置,并使用Hibernate本机API(如SessionFactory,Session等)打开会话并执行数据库操作。 我有以下问题: 混合使用JPA