首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java与多个实体

Java与多个实体
EN

Stack Overflow用户
提问于 2022-03-25 23:19:43
回答 2查看 36关注 0票数 0

我有一个类Health Check -作为类的一部分,我记录了看到多少寄生虫(没有寄生虫,有寄生虫,有寄生虫),还有寄生虫的位置(头、脚、身体)。

这样做有两种方法:

方法1

健康检查

代码语言:javascript
复制
@Entity
public class HealthCheck {
    @Id
    @GeneratedValue(strategy = AUTO)
    private Long id;
    private Parasite parasite;

寄生虫

代码语言:javascript
复制
public class Parasite {
    private BodyLocation bodyLocation;
    private Coverage coverage;
}

或者我可以:

方法2

代码语言:javascript
复制
@Entity
public class HealthCheck {
    @Id
    @GeneratedValue(strategy = AUTO)
    private Long id;
    private ParasiteNumber parasiteNumber;
    private ParasiteLocation parasiteLocation;

方法1是否需要寄生虫类上的@实体和表中每个Health Check的条目以及@OneToOne注释?

注寄生虫类不在其他任何地方使用。它只是Health Check的一部分。

哪条路是对的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-26 00:23:23

一般来说,是的。在ORM (又名JPA或Hibernate)中,您正在构建一个表示数据库中事物的对象图。一个“实体”所接触的任何东西也是一个“实体”,因为它是一个图形。

它是@OneToOne还是@ManyToOne等等,取决于数据模型的性质。但是,请记住,这些连接也可以是@Lazy,所以在需要它们之前不会加载它们。

由于@Lazy,方法2可能是首选的,idk。我假设ParasiteLocation和ParasiteNumber是某种联接表。如果是这样的话,您可以加载一个带有PL和PN的HealthCheck,但是这些对象可能是寄生虫。

我不认为你的问题有一个一刀切的答案。很大程度上取决于。但好消息是,ORM可以灵活地涵盖任何/所有可能出现的场景。

票数 0
EN

Stack Overflow用户

发布于 2022-04-20 00:42:11

如果寄生虫只在HealthCheck类中使用,这可以看作是一个关联。关联意味着子类的存在依赖于父类的存在,因此它没有独立的生命周期,因此可以像在第二个示例中那样直接在HealthCheck中声明属性,或者可以在寄生虫类中声明这些属性,然后将其嵌入到HealthCheck类中,例如:

代码语言:javascript
复制
/*To embed a class inside in Entity you must declare it Embeddable via the JPA 
annotation @Embeddable */
@Embeddable
public class Parasite {
@Column(name="body_location")
private BodyLocation bodyLocation;
@Column(name="coverage")
private Coverage coverage;

}

代码语言:javascript
复制
@Entity
public class HealthCheck {
@Id
@GeneratedValue(strategy = AUTO)
private Long id;

@Embedded
private Parasite parasite;
}

在这里,您的HealthCheck db表将具有寄生虫类中指定的属性,并且请注意,将不会创建寄生虫表,因为它是嵌入的,而不是实体(@ Entity )。

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71624066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档