クラスに対応する次のデータがテーブルにあると仮定します。Person
フィールドの連結をnull-safeで検索する正しい方法は何name1
ですかname2
?
@Entity
public class Person {
Long id;
String name1;
String name2;
// Getters and setters omitted for brevity
}
id | name1 | name2 ------------------------ 1 | フー| ヌル 2 | null | バー 3 | フー| バー
デフォルトでは、2つの列を連結するとnull
、どちらかがnullの場合になります。
public List<String> nameConcatenations() {
JPAQuery q = new JPAQuery(entityManager);
QPerson person = QPerson.person;
StringExpression nameConcatenation = person.name1.concat(person.name2);
return q.from(person).list(nameConcatenation)
}
上記のコードは、次のリストになります。
null
null
FooBar