-1

こんにちは、UserTAb、UserData、UserAccess のような名前の pojo が 3 つあります。単一の HQL クエリを使用して、これら 3 つの pojo からすべてのデータを取得したいと考えています。どうすればこれを実装できますか???

これについて完全な説明をしてください私はHibernateを初めて使用しています....事前に感謝します...

4

1 に答える 1

1

私はこの問題に直面していました。次の方法で解決しました

  1. DTO クラスを作成する

    package com.yourpackage;
    
    public class UserDTO{
    
     private UserTAb userTab;
    
     private UserData userData;
    
     private UserAccess userAccess;
    
    // write setter getter here
    
    public UserDTO(UserTAb userTab,UserData userData,UserAccess userAccess){
    
      this.userTab=userTab;
    
      this.userData=userData;
    
      this.userAccess=userAccess;
    
     }
    
    }
    
  2. 適切なJOINを持つHQLを記述します。例えば

    String hql ="select new com.yourpackage.UserDTO(ut,ud,ua) 
            from UserTab as ut,UserData as ud,UserAccess as ua";
    

    UserTab,UserData,UserData はエンティティまたはドメイン クラスです。

    http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html 14.6 セクションを参照できます

    間違っていたら訂正してください

于 2012-10-03T05:03:22.550 に答える