这是我的桌子:
@Entity
@表(name=“Students”)
公立班学生{
@Id
@Column(name="Student_ID")
private int id;
@Column(name="Student_Name")
private String name;
@Column(name="Email_ID")
private String emailId;
@Column(name="Phone_no")
private long phoneNo;
@Column(name="Class_ID")
private int classId;
@Column(name="DOB")
private Date dob;
和
@实体
@表(名称=“已分配”)
@Id
@Column(name="Assign_ID")
private int aId;
@Column(name="Class_ID")
private int classId;
@Column(name="Teacher_ID")
private int tId;
@Column(name="Subject_ID")
private int sId;
PrintWriter out = response.getWriter();
out.append("<html><body>");
SessionFactory sf = HibernateUtil.getSessionFactory();
Session session = sf.openSession();
List<Subjects> subjects = session.createQuery(" from Subjects").list();
out.println("<h1> Students List :-");
out.println("<table>");
out.println("<tr>");
out.println("<th> Subject Id </th>");
out.println("<th> Subject Name </th>");
out.println("</tr>");
for(Subjects subject : subjects ) {
out.println("<tr>");
out.println("<td>"+subject.getsId()+"</td>");
out.println("<td>"+subject.getsName()+"</td>");
out.println("</tr>");
}
out.println("</table>");
out.append("</body></html>");
它工作得很好,但当我试着运行它时:
PrintWriter out = response.getWriter();
out.append("<html><body>");
SessionFactory sf = HibernateUtil.getSessionFactory();
Session session = sf.openSession();
List<Subjects> subjects = session.createQuery("from Subjects s, Assign a where s.sId = a.sId and a.classId = 2").list();
out.println("<h1> Students List :-");
out.println("<table>");
out.println("<tr>");
out.println("<th> Subject Id </th>");
out.println("<th> Subject Name </th>");
out.println("</tr>");
for(Subjects subject : subjects ) {
out.println("<tr>");
out.println("<td>"+subject.getsId()+"</td>");
out.println("<td>"+subject.getsName()+"</td>");
out.println("</tr>");
}
out.println("</table>");
out.append("</body></html>");
它给出了以下错误:
我在这里读到的时候没有做@manytone注释(
How to make this select * from two joined tables query in HQL form?
)你也可以在没有他们的情况下工作。
我试过各种各样的东西,但都没有用。有人能告诉我为什么会发生这种情况,以及如何解决这个问题吗?