0

Spring、MySQL、および休止状態のテーブルを 1 つのモデルに結合

私はSpring、MySQL、およびHibernateプロジェクトに取り組んでいますが、Javaコード内でテーブルの結合を行うように会社から依頼されたのはこれが初めてです.

パスでは、次のようなコードを記述して、Hibernate からリスト データを取得します。

return (List<NameID_lookupModel>) sessionFactory.getCurrentSession()
                .createCriteria(NameID_lookupModel.class)
                .addOrder( Order.asc("Name"))
                .list();

しかし、この新しいプロジェクトでは、複数のテーブルから読み取ることになるため、モデルを正しくセットアップするための助けが必要です。

私のテーブルは次のようになります

表 a、列 1 および列 2 表 b、列 1 および列 2 表 c、列 1 および列 2

テーブル A でテーブル B の col1 の col 2 を選択する必要がありますが、テーブル b の col2 をテーブル c の col 1 に結合します。

Javaモデルでこれを行うにはどうすればよいですか??

4

1 に答える 1

0

私はあなたの問題への2つのアプローチを見ます:

  • データベース内のビューを使用して、クラスをビューにマップします
  • SQL休止状態クエリを使用し、使用するモデルクラスのインスタンスとして結果を取得します(この例では、テーブルAをマップするもの)。例:

    SQLQuery query = sessionFactory.getCurrentSession().createSQLQuery("SQL THAT YOU WANT TO USE WITH THE JOINS AND WHERE"); query.addEntity(LookupMappedModel.class); List<LookupMappedModel> result = (List<LookupMappedModel>)query.list();

その他の例はここにあります:Hibernate-ネイティブSQLの使用

于 2012-09-07T06:54:20.207 に答える