HIbernate查询语言问题

时间:2010-04-13 22:58:03

标签: java hibernate

我有一个Project类,其中Set个用户名为userStories12many。 我在设置getComponent(int userStoryID)

集合中具有特定用户的项目时遇到了麻烦

我认为我在正确的轨道上,但我不知道我做错了什么

public Projects getComponent(int userStoryID) {
    Session session = SessionFactoryHelper.getSessionFactory()
    .getCurrentSession();
    session.beginTransaction();

    List<Projects> compo = session.createQuery("select p "
    + "from Projects as p inner join fetch p.userStories12many as u "
    + "where u.storyId='" + userStoryID + "'").list();
    session.getTransaction().commit();
    return compo.get(0);

}

1 个答案:

答案 0 :(得分:0)

在您的代码中,有一些事情让我觉得不对:

  1. 最好绑定参数,而不是直接在查询字符串中插入它们。
  2. 为什么要引用id?是不是int?
  3. 您在交易结束后访问查询结果,这通常是个坏主意