gpt4 book ai didi

java - 具有一对多映射的 Hibernate 中的 CRUD

转载 作者:行者123 更新时间:2023-11-29 03:17:20 26 4
gpt4 key购买 nike

我在数据库中有三个实体和三个表及其关系:

 Class person {

int id;

@OneToMany(mappedBy = "person", fetch = FetchType.LAZY)
List<Comment> comments;

@OneToMany(mappedBy = "person", fetch = FetchType.LAZY)
List<CellPhone> cellPhones;

}

Class Comment {

String content;

@ManyToOne
@JoinColumn(name = "id")
Person person;

}

Class CellPhone {

String mark;

@ManyToOne
@JoinColumn(name = "id")
Person person;

}

Hibernate 支持我做那样的事情吗?

  • 插入一个新人,它会自动插入手机和评论,而不是每个实体都插入。
  • 删除给定id的人,然后自动删除CellPhone和comment与他们的id的关系?
  • 让我们给一个人 id,它会得到拥有所有评论和手机的人?
  • 更新一个人的Comment和CellPhone中的东西,保存一个人,它会自动保存CellPhone和Comment吗?

一般来说,我只想为person对象设置/获取CellPhone和Comment,然后调用getPerson(person)、save(person)或delete(person)等而不用get(comment)、save(comment)或删除(手机)..

请帮我澄清一下。谢谢。

最佳答案

所有问题的答案都是肯定的。

具体来说,对于问题 1、2 和 4,请查看 Hibernate 级联:

  1. Hibernate Documentation on cascading
  2. Mkyong Article on cascading

对于问题 3,一旦您请求其他实体(通过调用它们的 get 方法),Hibernate 将自动获取它们。

关于java - 具有一对多映射的 Hibernate 中的 CRUD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25729720/

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