我在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