Hibernate динамическая строка оператора - PullRequest
0 голосов
/ 08 ноября 2018

Есть ли способ использовать оператор в Hibernate, который вы не знаете заранее? Вот пример кода для контекста, показывающий, как я хотел бы, чтобы он работал:

s.createQuery("select from :table where column :op :value");

Это не работает, поэтому я написал эту switch логику:

public List<Model> findByProperty(final String propertyName,
                                  final String operator,
                                  final String value) {
  final Session s = getSession();
  Criteria criteria = s.createCriteria(Foo.class);
  // How could I dynamically use the type of operator
  // through Hibernate without perhaps a switch on operator

  switch (operator) {
    case '=':
      criteria = criteria.add(Expression.eq(propertyName, value);
    // ...
  }

  return criteria.list();
}

Это работает, но есть ли другой способ?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...