2016-01-09 43 views
0

我使用hibernate,spring-boot-data-jpa和spring-boot-data-rest編寫應用程序。JpaRepository可以從* .hbm.xml文件中獲取實體描述嗎?

我的實體類不包含任何註釋,並且所有的orm映射都放在幾個hbm.xml文件中。

class MyEntity { 
    Long id; 
    String name; 
} 

interface MyRepository extends JpaRepository<MyEntity, Long> { 
} 

Hibernate工作正常,以及JpaRepository的所有方法,如findOne。通過JpaRepository提供的REST接口說

"PersistentEntity does not have an identifier property!". 

的問題,我發現,添加@Id到myEntity所一流的解決了這個問題。不過,我更喜歡在hbm.xml文件中定義orm映射,而不是使用註釋。

如何配置JpaRepository來考慮* .hbm.xml文件?

+2

如果事情是「JPA」,那麼它決不應一些專有的東西。 JPA允許「orm.xml中」,所以「JpaRepository」應該支持 –

+0

你是對的,但可能存在的方式,提供休息層必要的信息W/O全部移植到orm.xml中。 –

+0

你有沒有試過把你的映射文件放在src/main/resources目錄下? –

回答

0

我面臨着使用hbm文件的JpaRepository類似的問題。如果這些文件存在於資源文件夾中,JpaRepository可以接受hbm文件。在資源文件夾中,創建任何文件夾說資源/ hbm並將所有hbm文件移動到此文件夾。現在hbm文件將被JpaRepository找到,而不是託管類型的錯誤將被修復。