0

休止状態のクエリに列名を動的に渡そうとしていますが、できませんでした。これを行う方法を明らかにできますか?私は次のように試しRestrictionsました:

getCurrentSession()
.createCriteria(Result.class)
.add(Restrictions.eq(option.column_name, "first_test")).list();

例外:

org.springframework.web.util.NestedServletException: Request processing failed; 
nested exception is org.hibernate.QueryException: could not resolve property:
"test_name,le" of: com..model.Result
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:948)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:838)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
4

1 に答える 1

0
  • あなたのエンティティResultにはプロパティがない ようですtest_name,le

次のように、正しいフィールド名を渡すようにしてください。

@Entity
class Employee{
   ..
   private String firstName;
   private String lastName;
   ..
} 

ユーザーが選択firstNameした場合は、フィールドの名前を次のように渡すだけですString

String fieldName = "firstName";
getCurrentSession().createCriteria(Employee.class)
.add(Restrictions.eq(fieldName, "John")).list();
于 2013-09-05T20:50:20.513 に答える