我有两个类Foo
并Bar
映射到两个不同的表,我希望它们使用JOINED
继承策略,但使用两个非键列连接。架构很奇怪,但我坚持下去。这是我的设置:
@Entity
@Table(name="foo")
@Inheritance(strategy=InheritanceType.JOINED)
public class Foo {
@Id
private Integer uniqueFooId;
@Column(name="column1")
private String column1;
@Column(name="column2")
private String column2;
@Column(name="someValue")
private String someValue;
}
@Entity
@Table(name="bar")
public class Bar extends Foo {
@Id
private Integer uniqueBarId;
@Column(name="column1")
private String column1;
@Column(name="column2")
private String column2;
@Column(name="someOtherValue")
private String someOtherValue;
}
我不确定@Inheritance 如何决定使用哪个列来加入,但我假设默认情况下它使用主键。我想加入它们的不仅仅是主键以外的一列,而是两列,在这种情况下column1
和column2
.
我什至可能会以错误的方式解决这个问题。我将不胜感激任何帮助或建议。谢谢!