Hibernate表映射

时间:2017-02-08 13:12:17

标签: java hibernate

我在数据库中有一个名为Institute的表,其中存储了与研究所相关的详细信息。该表中的一列是Institute_type_id,它是具有PK Institute_type_id的Institute_type表的FK。表institute_type包含另一列Institute_type_name JSP中有一个页面根据搜索列出了该机构。此外,还有一个部分可以帮助您重新搜索"用户可以选择institute_type并缩小搜索范围 我已经实现了使用Spring MVC并使用model属性来存储用户值并使用条件搜索来在数据库中进行查询 让我们举例 -
研究所(表)
Id name insitute_type place
101高中1 ABC

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和Institute_type表的关系是一对多的。一个研究所可能有多个研究所类型。让研究所" ABC"可能是学校和+2学校(11和12 std),或者可能只有一个。学院可能只是+2学校或+学校和学院的组合。等
要求 - 当用户选择institute_type缩小搜索查询时,必须使用标准来缩小搜索范围 问题 - 如果我使用映射一对一,Hibernate使用左外连接,那么那些与institute_type匹配的机构也在搜索列表中。如何在hibernate中实现问题的解决方案。

1 个答案:

答案 0 :(得分:0)

如果一个研究所可能有多种研究所类型,我认为这种关系是多对多的。我猜多个研究所可以使用相同的研究所类型。此外,为什么不将instituteType映射到Institute_type类?如果将其映射到类,则可以使用HQL / JPQL或Criteria API创建带有连接和过滤器的查询。您现在以何种方式获取数据?