2017-06-29 10 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を追加モジュール内のHibernateファセット。
  5. ビュー - >ツールウィンドウ - >永続性、RB-> Genrate永続マッピング - >データベーススキーマ。また、生成するデータソースとパッケージを選択します。
+2

ここで重要なのは、 'JPA'モジュールを追加することです!その後、 'SessionFactory'の設定はもう必要ありません。 – membersound

1

私は春のデータJPAを使用しており、同様の問題がありました。これを回避するために、私は以下のように一時クラスを作成し、IntelliJにhibernate.cfg.xml(「Add to Session Factory」の隣に緑色のヒット)を作成させます。少し面倒な回避策ですが、すべてを手動でマッピングするよりはるかに迅速です。お役に立てれば。

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