Java 每个类层次结构表上的并集

Java 每个类层次结构表上的并集,java,hibernate,hibernate-mapping,Java,Hibernate,Hibernate Mapping,我正在制定一项要求。目前有一个搜索页面,其中有一个列表框,其中包含值(示例数据)1)员工和2)运动员。 对象层次结构(HibernateBean) 人是具有两个不同类的实际对象 1) 雇员及 2) 体育以人为本 鉴别器列 人员类型(鉴别器列) 在搜索页面上,如果用户选择任何列表框,将从该子类生成数据 现在的要求是同时显示两个子类的结果,并通过在列表框中添加一个值“Employee+Sports Person”来完成 问题 1) 两个子类都有不同的结构 2) 还有其他标准,可与不同属性进行比较 如

我正在制定一项要求。目前有一个搜索页面,其中有一个列表框,其中包含值(示例数据)1)员工和2)运动员。
对象层次结构(HibernateBean) 人是具有两个不同类的实际对象 1) 雇员及 2) 体育以人为本 鉴别器列
人员类型(鉴别器列)

在搜索页面上,如果用户选择任何列表框,将从该子类生成数据

现在的要求是同时显示两个子类的结果,并通过在列表框中添加一个值“Employee+Sports Person”来完成

问题 1) 两个子类都有不同的结构 2) 还有其他标准,可与不同属性进行比较

如何合并这两个子类。 请帮我解决。
请注意:我尝试不使用基于查询的联合。我认为在面向对象方面,加载这两种类型的人应该不是问题。如果您的查询可以访问公共属性,则可以从Person p执行
,其中

如果您的查询需要使用
员工
运动员
的特定属性,那么您可以执行两个查询并将结果放入一个
列表


排序/显示该列表取决于需要显示或比较的数据。如果你需要比较不同的数据,你可以使用一个
比较器来检查对象的实际类别,也可以使用一个包装器来访问正确的属性进行显示。

我不太明白你的问题:你有一个包含员工和运动员的列表,需要根据不同的标准对该列表进行排序。@Thomas,我想我混合了UI和Hibernate对象层次结构。列表框是一个UI元素,它有两个值。根据选择,DAO在子类上运行。列表框中的值是Person_类型,它是一个鉴别器值。我执行了两个要求以获得结果,因为条件特定于子类。但是我的老板真的一下子问我。。。或者使用原生查询(我不同意)@Kumar我会问你的老板为什么你必须使用两个查询。我更喜欢使用两个简单的查询,而不是一个更复杂的查询,特别是如果您不得不使用原生sql(我也不同意;))。如果一个查询变得太复杂,那么多个查询都无法得到相同的结果,那么除了更易于维护外,可能还会产生更好的性能。是的,你说得对。我刚告诉他,但你们知道老板总是对的:-)。但事实上你的选择是正确的。除此之外,我认为Hibernate必须考虑提供联盟。希望这个问题能解决soon@Kumar好像3年前就修好了:)