Я пытаюсь отфильтровать данные из таблицы с нулевым значением. Я пытаюсь получить данные путем поиска двух полей, где name не является полем с возможностью NULL, а productGroup.name - поле с нулевым значением. это мой код:Как получить данные в JPA, которые могут иметь нулевое значение
public static Page page(int page, int pageSize, String sortBy, String order, String filter) {
if (page < 1) page = 1;
Long total = (Long) JPA.em()
.createQuery("select count(c) from InventoryItem c where lower(c.name) like :filter or c.productGroup.name=:filter ")
.setParameter("filter", "%" + filter.toLowerCase() + "%")
.getSingleResult();
@SuppressWarnings("unchecked")
List<InventoryItem> data = JPA.em()
.createQuery("from InventoryItem c where lower(c.name) like :filter or c.productGroup.name=:filter order by c." + sortBy + " " + order)
.setParameter("filter", "%" + filter.toLowerCase() + "%")
.setFirstResult((page - 1) * pageSize)
.setMaxResults(pageSize)
.getResultList();
return new Page(data, total, page, pageSize);
}
если есть нулевое значение в productGroup.name не получает данные, но, когда я хранить productGroup.name он показывает данные. Я делаю что-то неправильно?
Благодаря
так смотреть на SQL испробованы и затем вам может видеть, почему это происходит ... –