Я столкнулся со странной ситуацией, когда я использую именованный запрос или собственный запрос для фильтрации данных с использованием знака «<» или больше, чем «>». Например, у меня есть каталог кодов, и я делаю навигацию по этим кодам, а для первого кода «000481» следующий код «-PR. 2L» (это правильно), но предыдущий из «-PR 2L "- это" PR. 2L ", а не" 000481 ", как правильно.EclipseLink меньше, чем предложение не работает
Если я запустил запрос с помощью команды Execute ... результат правильный. Если это важно, я использую сервер Mssql 2005 и для обеспечения устойчивости EclipseLink jpa 2.1
Спасибо!
@SuppressWarnings("unchecked")
public Cods previous(String cod, String codUnit) {
EntityManager em = getEntityManager();
em.setProperty("codUnit", codUnit);
Query query = em.createQuery("SELECT c FROM Cods c WHERE c.cod < :cod ORDER BY c.cod DESC");
query.setParameter("cod", cod);
Cods p = null;
try {
List<Cods> lP = query.setMaxResults(1).getResultList();
if (!lP.isEmpty()) {
p = (Cods) lP.get(0);
}
} finally {
em.close();
}
return p;
}
Я думаю, что проблема связана с знаком, который находится в треке "-PR. 2L" – bacclaudiu