2017-09-05 6 views
0

JPA CriteriaBuilderを使用してクエリを作成し、コンストラクタのベース選択を使用しています。しかし私の場合、私は特定のパラメータ(ダミー)にいくつかのデフォルト値が必要です。しかし、そのパラメータはテーブルの列ではありません。CriteriaBuilderのコンストラクタベースの選択フィールドにデフォルト値を送信するにはどうすればよいですか?

これを達成する方法はありますか?

CriteriaBuilder cb = getEntityManager().getCriteriaBuilder(); 
CriteriaQuery<HEntity> cq = cb.createQuery(HEntity.class); 
Root<HTable> root = cq.from(HTable.class); 

// original selection criteria 
// build result set class 
cq.select(cb.construct(HDto.class, 
       root.<Long>get("id"), 
       root.<Date>get("datetime"), 
       root.get("device") 
       ) 

次のような方法はありますか?

// build result set class 
cq.select(cb.construct(HDto.class, 
       root.<Long>get("id"), 
       root.<Date>get("datetime"), 
       root.get("devicename"), 
       "default value" 
       ) 

答えて

関連する問題