2017-06-06 12 views
1

次のコードを実行すると、オブジェクトリストのみが返されます。私は車両のリストが欲しい。私のコードのエラーは何ですか?エンティティマネージャとJPAを使用するとオブジェクトのみが返される

マイダオクラスです:

public class VehicleDao { 

HibernateTemplate template; 
private EntityManager emManager; 

@PersistenceContext 
public void setEm(EntityManager emManager) { 
    this.emManager = emManager; 
} 
public List<Vehicle> getVehicleDataUsing_Sp() 
{ 
Properties prop= new Properties(); 
    try { 
     InputStream input = new FileInputStream("E:\\spring4AndHibernate5\\src\\Query.properties"); 
     prop.load(input); 
     Query query = emManager.createNativeQuery(prop.getProperty("vehicleQuery")); 
     List<Vehicle> list = query.getResultList(); 
     return list; 
     } 
} 
+0

catchブロックを維持してください。最後に(オプション) –

+0

@Manihtraa答えに従ってコードを編集しないでください。あなたの実際の問題を理解するのが難しくなります。 – davidxxx

答えて

1

あなたはどちらかあなたのネイティブクエリ定義で結果クラスを定義する必要があります(あなたの名前付きクエリを定義したresultClass=Vehicle.classを使用)

および/または

あなたが必要createNamedQueryを使用するときにネイティブクラスをマップする(createNativeQuery(prop.getProperty("vehicleQuery"), Vehicle.class)を使用)。

1

あなたはvoidとして戻り値の型を指定したときは、List<Vehicle>を返すことができません。

public List<Vehicle> getVehicleDataUsing_Sp() 

そして、あなたもこのように、 tryブロックの後 catchブロックを追加する必要があります:

は、代わりにこれを試してみてください

catch(Exception e) 
{ 
} 
+0

リスト list = query.getResultList();この行がlistの値を実行するときは配列オブジェクトです。私は車のオブジェクトのリストが欲しい。あなただけのタイプの関連問題を返すと言っているが、私はデータ型関連の修正をしたい。 – Manihtraa

+0

ああ、私は参照してください。私はそれを是正します。ちょうど私にいくつかの時間を与える:) –

1

それはネイティブクエリなので、それは知りません。あなたがそれを教えない限り、それをマッピングすることを試みるべきもの。

試してみてください。

Query query = emManager.createNativeQuery(prop.getProperty("vehicleQuery"), Vehicle.class); 
+0

ありがとう。それは正常に動作しています。 – Manihtraa

関連する問題