Хэндшейк, улучшенный граф, новые методы в репозитории в DB

This commit is contained in:
RoyceDa
2026-02-04 06:08:24 +02:00
parent cd1e6e6b14
commit f74f4e7af7
16 changed files with 386 additions and 31 deletions

View File

@@ -67,6 +67,36 @@ public abstract class Repository<T> {
});
}
/**
* Поиск сущности по значению одного поля с использованием оператора LIKE
* @param fieldName поле
* @param value значение
* @return найденная сущность или null
*/
public T likeSearch(String fieldName, String value) {
return executeInSession(session -> {
String queryString = "FROM " + entityClass.getSimpleName() + " WHERE " + fieldName + " LIKE :value";
return session.createQuery(queryString, entityClass)
.setParameter("value", "%" + value + "%")
.uniqueResult();
});
}
/**
* Поиск сущности по значению одного поля с использованием оператора LIKE
* @param fieldName поле
* @param value значение
* @return найденная сущность или null
*/
public List<T> likeSearchAll(String fieldName, String value) {
return executeInSession(session -> {
String queryString = "FROM " + entityClass.getSimpleName() + " WHERE " + fieldName + " LIKE :value";
return session.createQuery(queryString, entityClass)
.setParameter("value", "%" + value + "%")
.list();
});
}
/**
* Поиск сущности по набору полей
* @param fields карта полей и их значений