Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 跨联接子类问题的带限制的条件查询_Java_Hibernate_Inheritance_Criteria_Detachedcriteria - Fatal编程技术网

Java 跨联接子类问题的带限制的条件查询

Java 跨联接子类问题的带限制的条件查询,java,hibernate,inheritance,criteria,detachedcriteria,Java,Hibernate,Inheritance,Criteria,Detachedcriteria,我有以下图表: OrderLine OrderLineExtension OrderLineExtensionA OrderLineExtensionB OrderLineExtensionC OrderLine包含一组OrderLineExtension。 OrderLineExtension定义为:@Inheritation(strategy=InheritanceType.JOINED),并标记为实体,是抽象的 在数据库中为层次结构

我有以下图表:

OrderLine
    OrderLineExtension
        OrderLineExtensionA
        OrderLineExtensionB
        OrderLineExtensionC
OrderLine包含一组OrderLineExtension。
OrderLineExtension定义为:@Inheritation(strategy=InheritanceType.JOINED),并标记为实体,是抽象的

在数据库中为层次结构中的每个类创建一个表

我试图执行一个查询,其中OrderLine上的项目名称是“item”,但OrderLineExtensionA中的orderReferenceNumber是“orderRef”

我不知道如何从OrderLine遍历到OrderLineExtensionA,因为从OrderLineExtension到OrderLineExtensionA没有java引用

到目前为止,我已经得到了这个,当然不起作用

filter=DetachedCriteria.forClass(OrderLine.class);
    .add(Restrictions.eq("item", "item"));
    .createCriteria("orderLineExtension")
        .add(Restrictions.eq("orderReferenceNumber", "orderRef"));
这失败了,因为hibernate抱怨在orderLineExtension类中找不到orderReferenceNumber,该类在orderLineExtensionA中为true。但是,如何遍历到分机?我无法嵌套另一个createCriteria,因为超类中没有对子类的引用


任何帮助都将不胜感激。

哦,别担心。提出这个问题是因为我不知道collegue在每个连接的子类中创建了相同的字段。Hibernate只需在第一个子类中加载属性。这就是为什么我得到了错误的实例

现在我们重新命名了它们,一切正常。我的头挠了一会儿