У меня есть метод insertOrUpdate
, который вставляет Entity
, если он не существует, или обновляет его, если он это делает. Чтобы включить это, я должен findByIdAndForeignKey
, если он вернул null
вставить, если потом не обновить. Проблема в том, как проверить, существует ли она? Поэтому я попробовал getSingleResult
. Но он генерирует исключение, если
public Profile findByUserNameAndPropertyName(String userName, String propertyName) {
String namedQuery = Profile.class.getSimpleName() + ".findByUserNameAndPropertyName";
Query query = entityManager.createNamedQuery(namedQuery);
query.setParameter("name", userName);
query.setParameter("propName", propertyName);
Object result = query.getSingleResult();
if (result == null) return null;
return (Profile) result;
}
но getSingleResult
выбрасывает Exception
.
Спасибо