【发布时间】:2023-03-27 04:50:01
【问题描述】:
我有两张桌子:
CREATE TABLE Checkin (
ID int primary key,
foo varchar(100),
bar varchar(100),
FK_type int foreign key references Type(ID)
)
CREATE TABLE Type (
ID int primary key,
type varchar(100)
)
由于辅助表只存储标签,我想将值直接映射到我的实体中。我想应该可以使用@SecondaryTable...
@Table(name = "Checkin")
@SecondaryTable(name = "Type",
pkJoinColumns = @PrimaryKeyJoinColumn(name="FK_type", referencedColumnName = "ID")
)
class Checkin {
@Id
private Integer id;
private String foo;
private String bar;
@Column(name="FK_type", table="Type")
private String type;
}
不幸的是,@SecondaryTable 注释似乎反过来工作,这意味着它希望我的实际主数据表与最多列成为一个连接。所以我得到了错误
Invalid column name 'FK_type'.
有没有办法通过不同的注释来解决这个问题,还是我真的需要反过来构建整个构造,并让主要实体引用“Type”和“Chekin”作为辅助表?
【问题讨论】: