@Entity
public class Label {
@Id
@GeneratedValue
private Long id;
@ManyToOne
@JoinColumn(name = "text_id")
private Text text;
}
@Entity
public class Text {
@Id
@GeneratedValue
private Long id;
@Column(name = "text", columnDefinition = "TEXT")
private String text;
@OneToMany(mappedBy = "text")
private List<Label> labels;
@ManyToOne
@JoinColumn(name = "language_id")
private Language language;
}
@Entity
public class Language {
@Id
@GeneratedValue
private Long id;
@Column(name = "code")
private String code;
@OneToMany(mappedBy = "language")
private List<Text> texts;
}
text_id language_id text
------------------------------------
1 1 Example
1 2 Beispiel
您可以在这里找到两种解决方案:如何在JPA中创建和处理复合主键
@IDClass解决方案摘要:
public class LabelRepositoryKey implements Serializable {
private Long textId;
private Long languageId;
}
@Entity @IdClass(LabelRepositoryKey.class)
public class LabelRepository {
@Id
private Long textId;
@Id
private Long languageId;
@Column(name = "text")
private String text;
}
如何使用hibernate注释实现下表? 当前代码为:(为简洁起见,已删除) 使用者 社交网络 SocialProfile公司 显然我的代码现在不能正常工作。有人能解释一下吗?
我有两个表,在我的Spring代码中是学生和课程。我想创建一个关系表,“获取课程”。我只有学生ID和课程ID。我可以在我的java代码中创建一个具有两个主键的表,但我不能将它们声明为外键。 我尝试了这个解决方案,将两个外键作为主键,但没有成功,我认为其中缺少了一些部分。因此,我尝试了基于此解决方案的方法: (学生实体有id, name, surname)(课程实体有id, Coursename)
问题内容: 我正在尝试更新具有两个主键的Model。 模型 移民 这是应该更新库存模型的代码,但不是。 我收到此错误: 我也尝试使用updateOrCreate()方法。它不起作用(我得到同样的错误)。 谁能告诉我们应该如何更新带有两个主键的Model? 问题答案: 我已经遇到过几次这个问题。您需要覆盖一些属性: 和方法(功劳): 请记住,此代码需要引用Eloquent Builder类, 我建议
在实体框架中,我想使用两个外键作为另一个实体类型的主键。 但是,这会给我一个缺少键的错误。 我知道我可以定义另外两个属性来保存引用实体类型的主键。Visual Studio是否不够聪明,无法自行使用它们的主键?
问题内容: 我正在尝试使用JPA / Hibernate设置以下表: 可能有很多用户,每个用户最多只能有一个验证码,也可能没有。 这是我的课程: 我创建一个用户,然后尝试使用以下代码添加验证代码: 当我尝试运行它时,我收到org.hibernate.PersistentObjectException:分离的实体传递给持久化:用户 我还尝试在Validation类中使用以下代码: 当我创建验证码时,
我们系统的所有用户都来自一个主“用户”类。同样,我们希望以相同的方式构造数据库,拥有一个主“用户”表,该表与特定用户类型的必要表连接,以提供额外的用户信息。 以这三个基本表格为例: 表用户 user_id|user_email|user_firstname|user_lastname|... 表雇员 user_id|employee_staff_number|... 表管理 user_id|adm