Java 由参考表映射的表中的2个属性';s属性
我需要你的帮助 我正在尝试用hibernate和jpa映射我的对象 我有两个表,参考和个人(例如) 地址是一个字符串,但所有其他的都是int。 现在,colorEyes和job中的2个int值引用了参考表中的2个不同的intJava 由参考表映射的表中的2个属性';s属性,java,hibernate,jakarta-ee,jpa,Java,Hibernate,Jakarta Ee,Jpa,我需要你的帮助 我正在尝试用hibernate和jpa映射我的对象 我有两个表,参考和个人(例如) 地址是一个字符串,但所有其他的都是int。 现在,colorEyes和job中的2个int值引用了参考表中的2个不同的int person.colorEyes=reference.id_ref and person.job=reference.id_ref , those id_ref are not the same for colorEyes and job. 我想映射引用和
person.colorEyes=reference.id_ref and person.job=reference.id_ref , those id_ref are not the same for colorEyes and job.
我想映射引用和person表之间的关系,是否可以使用hibernate和jpa注释来实现这一点?我应该把两个关系放在同一类型吗?即使两个属性都与一个引用表有关?我找到了selectedtable注释,但它们总是谈论不同的表,这两个属性之间并不总是相同的
如果不可能,是否仍可以使用alias?还是我应该选择HQL
任何东西都会非常有用。我认为Hibernate在以下方面不会有任何问题
@ManyToOne( ...)
@JoinColumn(name="colorEyes")
public Reference getColorEyes() {
return company;
}
@ManyToOne( ...)
@JoinColumn(name="jobetc")
public Reference getJobEtc() {
return company;
}
请注意,我使用了一个ManyToOne而不是OneToOne,因为我假设多个人可能有相同的眼睛颜色
但是,您可能需要真正考虑将引用表分割成多个表,每个数据类型都有一个表。这将是更好的数据库形式
这也将使您的代码更具可读性,因为您将有不同的类来保存EyeColor和jobEt等@ManyToOne( ...)
@JoinColumn(name="colorEyes")
public Reference getColorEyes() {
return company;
}
@ManyToOne( ...)
@JoinColumn(name="jobetc")
public Reference getJobEtc() {
return company;
}