对象 class 内的休眠访问对象 class
hibernate access object class inside an object class
我现在正在进行期末项目并使用休眠制作 Web 应用程序。
我的主题是菜谱网站,我必须向所有喜欢菜谱的人展示
这是我的 pojo class 点赞(不包括构造函数和 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 class(不包括此处的 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;
}
我运行这个方法时的错误是:
Exception in thread "main"
org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST
node: ( near line 1, column 35 [from model.Likes where
Likes.getId().getIdResep()='R001']
试试这个:
Query q = session.createQuery("from Likes l where l.id.idResep = :code_resep");
q.setParameter("code_resep",kode_resep);
q.list();
我现在正在进行期末项目并使用休眠制作 Web 应用程序。 我的主题是菜谱网站,我必须向所有喜欢菜谱的人展示
这是我的 pojo class 点赞(不包括构造函数和 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 class(不包括此处的 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;
}
我运行这个方法时的错误是:
Exception in thread "main" org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: ( near line 1, column 35 [from model.Likes where Likes.getId().getIdResep()='R001']
试试这个:
Query q = session.createQuery("from Likes l where l.id.idResep = :code_resep");
q.setParameter("code_resep",kode_resep);
q.list();