在我的数据库中,我有两个表,如下所示:
CREATE TABLE IF NOT EXISTS `Lokal` (
`idLokal` int(11) NOT NULL AUTO_INCREMENT,
`Ocena_idOcena` int(11) NOT NULL,
PRIMARY KEY (`idLokal`,`Ocena_idOcena`),
KEY `fk_Lokal_Ocena_idx` (`Ocena_idOcena`)
)
CREATE TABLE IF NOT EXISTS `Ocena` (
`idOcena` int(11) NOT NULL AUTO_INCREMENT,
`Ocena` int(1) DEFAULT NULL,
PRIMARY KEY (`idOcena`)
)
我想使用 @SecondaryTable
Hibernate
注释将我的 Lokal
实体映射到此 Ocena
表,我设法实现的是:
@Entity
@Table(name="Lokal")
@SecondaryTable(name = "Ocena", pkJoinColumns=@PrimaryKeyJoinColumn(name="Ocena_idOcena"))
public class Lokal {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="idLokal")
private int id;
@Column(table="Ocena" ,name="idOcena")
private int rating;
//--Getters and Setters skipped--//
}
但我得到的只是一个错误:
ERROR: Unknown column 'this_1_.Ocena_idOcena' in 'on clause'
我认为我误解了 @SecondaryTable
注释,但这是我的第一个 Spring/Hibernate 应用程序,因此我很高兴获得任何类型的帮助。
最佳答案
试试这个:
@Entity
@Table(name="Lokal")
@SecondaryTable(name = "Ocena", pkJoinColumns=@PrimaryKeyJoinColumn(name="idOcena"))
public class Lokal {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="idLokal")
private int id;
@Column(table="Ocena" ,name="rating")
private int rating;
//--Getters and Setters skipped--//
}
关于java - 使用 @SecondaryTable 注解映射实体 Spring Hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43571016/