1
休止状態でCOALESCE
を使用する必要がありますか?これを実装する方法はありますか?私は、ハイバネート5.0を使用しています。休止状態のCOALESCE機能
休止状態でCOALESCE
を使用する必要がありますか?これを実装する方法はありますか?私は、ハイバネート5.0を使用しています。休止状態のCOALESCE機能
JPAの仕様では、このためのAPIがあります: CriteriaBuilder.Coalesce
インタフェースは、合体式を構築するために使用されます。合体式は、すべての引数が と評価された場合にnullを返すcase式に相当する と、それ以外の最初のNULLでない引数の値が0以外の場合は です。最新のHibernateのバージョンのよう
、代わりに、特定のものを休止..あなたはこのようなものに終わるだろうのJPQL基準を使用することをお勧めします
CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<String> query = cb.createQuery(String.class);
Root<User> user= query.from(User.class);
CriteriaBuilder.Coalesce<String> coalesceExp = builder.coalesce();
coalesceExp.value(user.get("name"));
coalesceExp.value(user.get("surname"));
coalesceExp.value(user.get("middlename"));
query.select(coalesceExp);
Query q = em.createQuery(query);
一番下の行はあなたということですこの方法を使用
CriteriaBuilder.Coalesce<T> value(T value)
又は
CriteriaBuilder.Coalesce<T> value(Expression<? extends T> value)
あなたのニーズに合わせてcoalesc式を記入してください