Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
Entity framework JPA:使用可选关联在select查询中聚合实体_Entity Framework_Hibernate_Jpa_Join - Fatal编程技术网

Entity framework JPA:使用可选关联在select查询中聚合实体

Entity framework JPA:使用可选关联在select查询中聚合实体,entity-framework,hibernate,jpa,join,Entity Framework,Hibernate,Jpa,Join,鉴于以下JPA实体: A、 带有字段id、名称 B、 具有字段id、名称和1-1关联a到a(对于a的任何实例,B的一个实例始终存在) C、 具有字段id、名称和1-1关联a到a(但a的任何实例并不总是存在一个C实例) 我希望在一次查询中获得类型a的所有实例的3个关联实体的id和名称,如: select a.id, a.name, b.id, b.name, c.id, c.name from A a, B b, C c where b.a=a and c.a=a 由于关联不能是双向的,我们不


鉴于以下JPA实体:

  • A、 带有字段id、名称
  • B、 具有字段id、名称和1-1关联a到a(对于a的任何实例,B的一个实例始终存在)
  • C、 具有字段id、名称和1-1关联a到a(但a的任何实例并不总是存在一个C实例)
  • 我希望在一次查询中获得类型a的所有实例的3个关联实体的id和名称,如:

    select a.id, a.name, b.id, b.name, c.id, c.name from A a, B b, C c 
    where b.a=a and c.a=a
    
    由于关联不能是双向的,我们不能使用从A到B和C的连接,所以我们需要从所有三个实体中进行选择(否则,左外连接可能会有所帮助)

    当a类型的给定实例的所有3个实例都存在时,这种方法工作得很好,但当a类型的给定实例没有C实例时,查询将不返回任何结果

    有没有办法配置查询,使其允许select子句中的可选实体?或者,是否有其他方法来定义查询以返回请求的值

    蒂亚。 达涅利