Hibernateのハマりやすい罠

まぁこっちのミスなんだけど、例外吐くとかしてほしいな。

  • query.setParameter(List)
Query query = session.createQuery("from Hoge where id in (:ids)");
query.setParameter("ids",ids); // idsはLongのList
return query.list();

例外にならず、結果は0件。

正しくは、

query.setParameterList("ids",ids); // idsはLongのList
  • session.createCriteria(Class)
Criteria criteria = session.createCriteria(Hoge.class);
criteria.list();

例外にならず、結果は0件。

普段はCriteriaなんて使わないけど、同僚が使っててハマった。

単にHogehibernate.cfg.xmlに定義されてないだけでした。
例外出ないのはおかしいでしょ。。



ちなみにバージョンは3.3.1