55

次のような JPA クエリを指定するにはどうすればよいですか。

Query q = 
  em.createQuery(
    "SELECT x FROM org.SomeTable x WHERE x.someString LIKE '%:someSymbol%'"
  );

に続く:

q.setParameter("someSymbol", "someSubstring");

トリガーしない

org.hibernate.QueryParameterException: could not locate named parameter [id]

とても有難い!

4

3 に答える 3

88

どうですか

Query q = 
  em.createQuery(
    "SELECT x FROM org.SomeTable x WHERE x.someString LIKE :someSymbol"
);
q.setParameter("someSymbol", "%someSubstring%");

私はかつてあなたの問題をそのように解決したと確信しています。

于 2011-05-12T19:28:37.150 に答える
59

参考までに、CONCAT を使用することもできます。

like CONCAT('%', :someSymbol, '%')
于 2015-01-04T14:15:49.190 に答える
4

query.setParameter(someSymbol, "%" + someSymbol+ "%");

于 2016-06-30T09:11:45.807 に答える