我在Oracle SQL Developer中即如何使用hibernate查询连接表?
1.Test_Employee2
2.Test_Project2
3.Employee_Project2
创建三个表。
表Employee_Project2
是Test_Project2
和Employee_Project2
之间的关系为Many-To-Many
的联系表。
在休眠我创建两个休眠类TestEmployee
和TestProject
为Test_Project2
和分别Employee_Project2
表,
和表Employee_Project2
在TestProject
休眠类定义如下:
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "Employee_Project2", joinColumns = @JoinColumn(name = "proj_id"), inverseJoinColumns = @JoinColumn(name = "emp_id"))
private Set<TestEmployee> employeesList;
我填充表Test_Project2
和Employee_Project2
与一些记录,并且连接表Employee_Project2
自动填充了一些记录。 现在我面对目前的问题是,我想用一个简单的SELECT语句上使用的Hiberante连接表Employee_Project2
如下:
String hql = "FROM Employee_Project2";
Query query = session.createQuery(hql);
List results = query.list();
for (Object row : results) {
//what to do here
}
我怎么能做到,尽管连接表“Employee_Project2”不是hibernate类。?
更新:
我想检索休眠表“TestProject”的所有记录,所以我写了下面的代码
String hql = "FROM TestProject";
Query query = session.createQuery(hql);
List results = query.list();
System.out.println("results.get(0)" + results.get(0).toString());
现在的问题是,在运行时我收到像下面这样的东西
results.get(0)[email protected]
我怎样才能得到包含在每一行的值?
为什么要这样做,您可以选择所有项目渴望取得,你会得到所有相关的时间如果你有双向映射,项目也是一样的 –
@AmerQarabsa请问你提供一个例子 – user2121
那么mysql和sql-server如何与这个问题相关? – GuidoG