Hibernate加入所有字段

时间:2013-11-05 17:22:44

标签: java hibernate join many-to-one

我正在使用 Spring数据 + Hibernate ,并且拥有一个包含多个 @ManyToOne 字段的实体。 hibernate通过单独的选择查询检索每个字段。

我已经尝试 @Fetch(value = FetchMode.JOIN),但没有用,

示例:

 @Entity
 public class MyEntity{
    @Id
    private Long id;

    @JoinColumn(name = "A")
    @Fetch(value = FetchMode.JOIN)
    @ManyToOne
    private A a;

    @ManyToOne
    @Fetch(value = FetchMode.JOIN)
    @JoinColumn(name = "B")
    private B b;
}

Hibernate将为 MyEntity A B 执行3分贝的旅行。

有没有办法通过单个选择检索我的实体及其所有字段,其中 A B 加入即可。?

修改

实体A和B的定义如下:

@Entity
public class A{
    @Id
    Long id;
    String name;
}

Repository看起来像这样(Spring Data创建实现):

public interface MyEntityRepository extends CrudRepository<MyEntity , Long> {}

加载实体的代码也非常简单:

myEntityRepository.findAll();

编辑2:

我刚刚编写了QueryDSL查询,因此只执行了1次选择。我至少对此很满意。

0 个答案:

没有答案