entityManager.createNativeQuery(query,foo.class) の使用 質問する

entityManager.createNativeQuery(query,foo.class) の使用 質問する

整数のリストを返したいのですが

javax.persistence.EntityManager.createNativeQuery電話

以下はなぜ間違っているのでしょうか?

entityManager.createNativeQuery("Select P.AppID From P", Integer.class);

具体的には、なぜ「...不明なエンティティ: java.lang.Integer」が表示されるのでしょうか?

Integer である単一のフィールドを持つエンティティ クラスを作成する必要がありますか?

ありがとう

ベストアンサー1

あなたが行うことは投影. 返されるのはスカラー1つのエンティティに属する値。これはJPAで実現できます。スカラー値

この場合、エンティティ タイプを完全に省略することも可能だと思います。

   Query query = em.createNativeQuery(  "select id from users where username = ?");  
   query.setParameter(1, "lt");  
   BigDecimal val = (BigDecimal) query.getSingleResult(); 

例としてはここ

おすすめ記事