Я хотел бы создать запрос критерия, в котором я могу установить различные свойства объекта и разные значения в зависимости от аргументов метода.
public List<Customer> searchBar(String entityProperty, String value) {
String nativeQuery = "SELECT * FROM devices WHERE customer_id IN (SELECT customers.id FROM customers WHERE ? = ?)";
Query query = session.createNativeQuery(nativeQuery);
query.setParameter(1, entityProperty);
query.setParameter(2, value);
return query.getResultList();
Вы можете предположить, что:
String entityProperty = "phoneNumber"
String value = "222222222"
когда я пытаюсь таким образом, я получаю пустой результат, но если я жестко закодирую entityProperty в выражении nativeQuery, оно будет работать следующим образом:
String nativeQuery = "SELECT * FROM devices WHERE customer_id IN (SELECT customers.id FROM customers WHERE phoneNumber = ?)";
Query query = session.createNativeQuery(nativeQuery);
query.setParameter(1, value);
return query.getResultList();
спасибо за ваше время:)