gpt4 book ai didi

java - Hibernate:如果参与者之一只有最终字符串字段(类似于无状态),则一二一和多二一相等

转载 作者:行者123 更新时间:2023-12-01 13:49:10 24 4
gpt4 key购买 nike

我拥有什么

有两个实体ABB是陈旧的,或者说它只有最终字符串字段是正确的。有many-2-one A之间的关系和B适本地。

我想要什么:

我想离开B无国籍。意味着我不想做 many-2-one双向关系并添加List<A>字段进入我的B类(class)。

问题:

如果B是无状态的,做 one-2-one 是否正确?它们之间是单向关系吗? (表示从 AB )

编辑(我怎样才能拥有一个无状态实体):

@Entity
@Table(name = "table")
public class Class {

@Id
@Column(name = "id")
private String id = this.getClass().getSimpleName();

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

@Column(name = "badgeColor")
private final String badgeColor;

public ProfileState(String name, String badgeColor) {
this.name = name;
this.badgeColor = badgeColor;
}
//getters
}

编辑2(为什么是单向):

我无法使其双向,因为由于应用程序逻辑,应该只有一个 B 实例实体。由于同样的逻辑,B是一个单例,它不能引用 single A实体。如果有,它应该引用所有 A实体。但是B不是常识中的单例。那么如果是many-to-one关系,我应该同步 B 的每个实体类。

最佳答案

为什么不使用从 A 到 B 的单向多对一关系?

@ManyToOne
@JoinColumn(name="TABLE_B_ID")

关于java - Hibernate:如果参与者之一只有最终字符串字段(类似于无状态),则一二一和多二一相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20099316/

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