2016-10-11 13 views
0

のリストに私は、コードの設定を、次のいによってRunQueryメソッドが含まれているジェネリッククラスを得た:トランスポーズ結果のPOJO

public Object runQuery(String query) { 

     Query retVal = getSession().createSQLQuery(query); 


    return retVal.list(); 
    } 

私はのリストに返された値を転置する方法を把握しようとしていますオブジェクトのチェック(リスト):

public class Check { 
    private int id; 
    private String name; 
    private String confirmationId; 

//getters and setters 
    } 

実際に実行されるクエリは、実際にはmysqlに格納されています。私はネイティブクエリとresultTransformsを知っています(もし実装されていれば、私はジェネリックスを変更しなければならないということです)。 どのように私は現在の設定でこれを達成することができますか?

+1

私はORMとして休止状態を使用しようとしていますが、これについてはインターネット上でたくさんのチュートリアルがあります:http://www.mkyong.com/tutorials/hibernate-tutorials/(私はむしろ注釈xmlマッピングより) – Asoub

+0

正確に@Asoubチュートリアル?あなたが私が説明した問題を解決するものに私を指摘できますか? – Aeseir

答えて

0

ORM(What is Object/relational mapping(ORM) in relation to Hibernate and JDBC?)に関するチュートリアルがあります。

基本的には、Checkクラスに注釈を追加して、どのJavaフィールドがどのDBフィールドに一致するかをJPiberi(SQLのように見える)リクエストにし、オブジェクトを取得してDBからPOJOにマッピングします。

これは幅広いテーマです。これは良いスタートです。https://www.tutorialspoint.com/hibernate/hibernate_quick_guide.htm これは設定が必要ですが、それだけの価値があります。ここ1つの、アノテーションベースの設定についてのチュートリアルです:https://www.tutorialspoint.com/hibernate/hibernate_annotations.htmが、ORMがどのように機能するかについて以下の説明では、そうでなければ

(ORMとしてもEclipseLinkはあります)、あなたはResultSetから値をとる独自のマッパー、だ作り、それらを設定することができますあなたのクラスで。多くの理由から、私はORMをこのメソッドよりも使用することをお勧めします(DBに格納されているクラスが1つしかない場合は例外です)。

+0

retVal.list()をストアドプロシージャコールのList に転記する方法を説明できますか? – Aeseir

+0

休止状態のORM環境を設定したら、リストのyourCheckList = getEntityManager()を使用します。createQuery( "Select c from c.name =:yourNameParametr"、Check.class).setParameter( " "yourNameParameter"、 "todolist")。getResultList(); '設定を行うと、自動的にJPQLの結果がクラスのリストに変換されます。 – Asoub

+0

あなたはもう一度質問を読み直す必要があります。私は休止状態のエンジンをセットアップするのに助けは必要ありません。リストに返された値をListに転記する必要があります Aeseir

関連する問題