![]() |
1
4
因为您在Java类中进行连接,所以Hibernate无法真正帮助您使用这一个,抱歉。它根本看不到您在这个方法中所做的事情,因为它实际上与持久性完全无关。 解决方案取决于您如何映射这些类的继承: 如果是每个层次结构的表,则可以使用以下方法:为条件查询编写一个SQL WHERE子句,然后使用CASE语句:
如果是每个具体子类的表,那么最好编写两个查询(因为Hibernate无论如何都会这样做)。 |
![]() |
2
2
您可以在
另一种选择是有两个查询,一个用于
如果您有大的表,您应该考虑全文索引,例如
|
![]() |
3
1
如果将DisplayName更改为映射属性(设置为公司中的“名称”列和“First”“Last-In-Person”等公式),则“Can Query for Contract”和“Hibernate”将运行两个查询,这两个查询现在都有一个DisplayName。您将得到一个包含两个列表的列表,一个包含公司,另一个包含人员,因此您必须将它们重新合并到一起。我认为您需要按合同的完整包名称进行查询,或者设置typedef来告诉Hibernate。 |
![]() |
Eris · 纯虚拟成员有什么优势吗(除了他们可能防止的人为错误)? 2 年前 |
|
James Nguyen · Java多态性:为什么返回错误? 6 年前 |
|
Alex Cristea · 如何从另一个类的数组中打印特定行 6 年前 |
![]() |
juztcode · C语言中的静态和动态分辨率++ 6 年前 |
![]() |
Hugo · 具有多态关系的活动记录获取关联模型 6 年前 |
![]() |
pooya13 · 机器代码层上虚函数和条件执行的区别 6 年前 |
![]() |
Nisba · C中子类类型未知的模型类/子类++ 6 年前 |
![]() |
R zu · 使用多次调用的可替换方法初始化 6 年前 |