2017-06-29 179 views
2

我正在使用我們的內部庫來生成會話工廠。這意味着我沒有帶有Hibernate配置的xml文件;像這樣的信息是從我的應用程序部署在容器中的配置文件讀取的。我也不會在我的代碼中的任何位置創建SessionFactory的新實例;我添加了一個可以幫助我的軟件包。如何在沒有會話工廠的情況下使用IntelliJ生成實體?

然而,當我嘗試生成的IntelliJ實體,我得到一個錯誤說:

JPA annotation mappings require at least one Session Factory

考慮到我沒有一個配置文件,我不構建SessionFactory自己,有沒有辦法生成註釋?

回答

4

您可以使用數據庫連接生成實體。

  1. 轉到查看 - >工具Windows的>數據庫點擊+添加新的數據源。
  2. 轉到 「項目結構」(ALT + CTRL + + 小號
  3. 在 「項目設置」 中選擇 「模塊」
  4. +並添加JPA /休眠方面在你的模塊。
  5. 前往視圖 - >工具窗口 - >持久性,RB-> Genrate持久映射 - >按數據庫模式。並選擇生成的數據源和包。
+2

這裏重要的一步是添加'JPA'模塊!之後,不再需要'SessionFactory'設置。 – membersound

1

我正在使用彈簧數據JPA,並有類似的問題。爲了解決這個問題,我創建了一個如下所示的臨時類,讓IntelliJ創建一個hibernate.cfg.xml(點擊「添加到會話工廠」旁邊的綠色+),這兩個都是我運行映射後刪除的。有點煩人的解決方法,但比手動映射所有東西快得多。希望這可以幫助。

@Component 
public class IMADEANENTITYMANAGEROK/*!?!?!*/ { 
    @Autowired 
    HibernateJpaSessionFactoryBean hibernateJpaSessionFactoryBean; 
    SessionFactory sessionFactory; 
    public IMADEANENTITYMANAGEROK() 
    { 
     sessionFactory = hibernateJpaSessionFactoryBean.getObject(); 
    } 
} 
相關問題