複数のパラメーターを持つ JPA Criteria API を使用する検索メソッドを作成する必要があります。問題は、すべてのパラメーターが必須ではないということです。そのため、一部は null になる可能性があり、クエリに含めるべきではありません。CriteriaBuilder でこれを試してみましたが、機能させる方法がわかりませんでした。
Hibernate Criteria API を使用すると、これはかなり簡単です。基準を作成してから、制限を追加するだけです。
Criteria criteria = session.createCriteria(someClass.class);
if(someClass.getName() != null) {
criteria.add(Restrictions.like("name", someClass.getName());
}
JPAのCriteria APIで同じことを達成するにはどうすればよいですか?