2011-07-21 4 views
0

ArrayListを返す関数があります。< String>、リストにはJPAを使用してデータベースから取得した要素が含まれていますが、私の問題は出力の形式を理解できないことです。要求の結果を理解できませんJPA

機能は次のとおりです。

public ArrayList<String> getMyListEnvironment() 
{ 

    ArrayList<String> env=new ArrayList<String>(); 
    try{ 
     EntityTransaction entr=em.getTransaction(); 
     entr.begin(); 

     javax.persistence.Query multipleSelect= em.createQuery("SELECT h.hEnv FROM HPe h WHERE h.hPePK.pePlatform = :w ").setParameter("w", "platf1"); 
    List s = new LinkedList(); 
    s= multipleSelect.getResultList(); 
    env = new ArrayList(s); 

     entr.commit(); 

return env; 
     } 
     catch (Exception e) 
     { 
     System.out.println(e.getMessage()); 
     System.out.println("error"); 
     } 
     finally { 
     em.close(); 
    } 

    return env; 
} 

出力(結果):

[DTOMonito.HEnv[ envUrl=http://10.55.99.5:1055 ], DTOMonito.HEnv[ envUrl=http://10.55.99.99:8090 ]] 
+1

あなたのリストを見て書き込むことによって、コードの行(とLinkedListの割り当てを)救うことができる:このような何かを書くにはポイントは絶対にありません。それぞれにenvUrlがあります。あなたは何を期待していますか? – Cygnusx1

+0

@ Cygnusx1、私はこのようなリストを期待しています:[envUrl = http://10.55.99.5:1055、envUrl = http://10.55.99.99:8090] – rym

+0

BDのあなたのテーブルの名前は何ですか? DTOMonitoオブジェクトとは何ですか?それはデータベーステーブルにマップされたオブジェクトの名前ですか? – Cygnusx1

答えて

1

問合せは、(HPeエンティティのフィールドとして見つかったhEnvのリストを返すために、これらの略語のように思えますエンティティは良いよりも混乱を招きます。これらのタイプのものには説明的な名前を使用することをお勧めします)。

HPe.hEnvは文字列ですか?おそらく、あなたの出力は、誰かがこのフィールドに書式設定された文字列を格納しているので混乱しているかもしれません。あなたのコードを見ることなく、これを解読することは非常に難しいです。

Btwこのメソッドは、dead storesを作成するために少し無駄です。

List s = new LinkedList(); 
s= multipleSelect.getResultList(); 

あなたはそれが2つのDTOMonitoオブジェクトが含まれているように、単に

List s = multipleSelect.getResultList(); 
関連する問題