hibernate访问对象类中的对象类

时间:2015-03-08 14:01:37

标签: java sql hibernate netbeans jdbc

我正在进行最终项目并使用hibernate制作网络应用程序。 我的主题是食谱网站,我必须显示所有喜欢的配方

这里是我喜欢的pojo类(不包括构造函数和getter setter,以使其成为短代码)

 public class Likes  implements java.io.Serializable {

 private LikesId id;
 private Member member;
 private Resep resep;
 private Integer likes;

public Likes() {
}
}

这里是我喜欢id的pojo课程(不包括这里的getter setter使其成为短代码)

 public class LikesId  implements java.io.Serializable {


 private String idResep;
 private String idMember;

public LikesId() {
}

public LikesId(String idResep, String idMember) {
   this.idResep = idResep;
   this.idMember = idMember;
}
}

现在这是我向方法显示所有喜欢者的方法

public ArrayList<Likes> getAllLikes(String kode_resep)
{
    this.session = NewHibernateUtil.getSessionFactory().openSession();
    ArrayList<Likes> hasil = null;;
    Transaction tx = session.beginTransaction();
    Query q = session.createQuery("from Likes join LikesID on ()='"+kode_resep+"'");
    hasil = (ArrayList<Likes>) q.list();

    session.close();
    return hasil;

}

运行此方法时的错误是:

  

线程中的异常&#34; main&#34;   org.hibernate.hql.internal.ast.QuerySyntaxException:意外AST   节点:(靠近第1行,第35列[来自model.Likes其中   。Likes.getId()getIdResep()=&#39; R001&#39;

1 个答案:

答案 0 :(得分:0)

试试这个:

Query q = session.createQuery("from Likes l where l.id.idResep = :code_resep");
q.setParameter("code_resep",kode_resep);
q.list();