2017-04-23 44 views
0

在我的分貝我有兩個表看起來像這樣:地圖實體

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`) 
) 

我想我Lokal enitity映射到使用@SecondaryTableHibernate註釋,我設法這個Ocena表achive是

@Entity 
@Table(name="Lokal") 
@SecondaryTable(name = "Ocena", [email protected](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應用程序,所以我很樂意提供任何幫助。

回答

1

試試這個:

@Entity 
@Table(name="Lokal") 
@SecondaryTable(name = "Ocena", [email protected](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--// 

} 
+0

我曾嘗試這個選項爲好,這將引發我一個錯誤: '在實體映射重複列:com.crud.spring.entity.Lokal柱:idOcena(應被映射爲insert =「false」update =「false」)' – BednarQ

+0

這是因爲'rating'與您的主鍵具有相同的列名稱。 –

+0

檢查更新後的答案是否適合您? –