gpt4 book ai didi

java - 我怎样才能在 Hibernate 中做乘法关系?

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:12 25 4
gpt4 key购买 nike

各位!对不起,但我需要一些帮助。我的数据库是 looking this way ,我尝试通过 Java 中的 Hibernate 做同样的事情。

但我不明白我如何需要用这么多不同的表来注释这种关系。它是我的 Abiturient 表的一部分。

@Entity
@Table (name = "abiturient",
uniqueConstraints = {@UniqueConstraint(columnNames = {"id"})})

public class Abiturient {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false, unique = true, length = 11)
@ManyToOne
private Long id;

@Column
private Date data_narodjennya;

@Column
private Integer city_village;

它是我的 nomer_telefonu 表的一部分

@Entity
@Table(name = "nomer_telefonu")
public class NomerTelefonu {
@Id
@Column(name = "nomer_tel_id", nullable = false, unique = true, length = 11)
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long nomer_tel_id;

@Column(name = "nomer")
private String nomer;

@Column(name = "id")
@OneToMany(fetch = FetchType.LAZY)
private Set<Abiturient> id;

我不认为所有的事情都是对的,`因为每次我尝试解决问题时我都会遇到错误并且需要其他类型。

最佳答案

使用@OneToMany双向关系。

@Entity
public class Abiturient {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@OneToMany(mappedBy = "abiturent")
private List<NomerTelefonu> phones = Lists.newArrayList();

}

@Entity
public class NomerTelefonu{

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "nomer_tel_id")
private Long id;

@ManyToOne(fetch = FetchType.LAZY)
private Abiturient abiturent;

}

Lists.newArrayList() 来自 Guava 。这是工作映射。始终使用最简单的版本进行实验。

what is @JoinColumn and how it is used in Hibernate

您可以使用此项目在单元测试中使用映射:

https://github.com/v-ladynev/hibernate-experimental

关于java - 我怎样才能在 Hibernate 中做乘法关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47791453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com