2017-02-08 254 views
0

我在名爲Institute的數據庫中有一個表,其中存儲了與機構有關的詳細信息。該表中的一列是Institute_type_id,它是具有PK Institute_type_id的Institute_type表的FK。表institute_type包含一個更多列的Institute_type_name。
在JSP中有一個頁面根據搜索列出研究所。還有一部分內容是「精確搜索」,用戶可以選擇institute_type並縮小搜索範圍。
我已經實現了使用Spring MVC並使用模型屬性來存儲用戶值並使用條件搜索來查詢數據庫。
讓例子 -
研究所(表)
ID名稱insitute_type地方
101中學1 ABCHibernate表映射

Institute_type(表)
ID類型
1學校
2學院

模式
Institute.java

@Column(name="INSTITUTE_TYPE") 
private Integer instituteType; 

//Code for other column and getter and setter 

Institute_type.java

@Column(name="ID") 
private Integer ID; 

@Column(name="TYPE") 
private String type; 

//code for setter and getter 

注 - 關係的B/W研究所Institute_type表是一對多的。一個研究所可能有不止一個研究所類型。讓學院「ABC」可能是學校和+2學校(第11和第12標準)兩者或可能只有一個。一個研究所可能只有+2所學校,或者+學校和學院的組合。等等。
要求 - 當用戶選擇institute_type來縮小搜索查詢時,必須使用標準來縮小搜索範圍。
問題 - 如果我使用一對一映射,Hibernate使用左外連接,因此那些與institute_type匹配的機構也在搜索列表中。如何在hibernate中實現問題的解決方案。

回答

0

如果一個機構可能有多個機構類型,我認爲這個關係是多對多關係。我想同一個研究所類型可以被多個研究機構使用。此外,爲什麼不將instituteType映射到Institute_type類?如果將它映射到類,則可以使用HQL/JPQL或Criteria API來創建帶連接和過濾器的查詢。您現在以什麼方式獲取您的數據?