2017-10-19 68 views
0

如果我有这样的一个表:我的Spring Data Jpa方法会返回所有外地字段吗?

Client 
private Long int; 
private String name; 
@ManyToOne(mappedBy="otherField") 
private Address addresses; 

我创建一个扩展JPA仓库的仓库。鉴于客户端的名称,我想获得结果也是地址表字段。

使用方法 客户findByName(字符串名称)

请问我这也返回所有的地址表中的字段? 像:

Address 
private Long id; 
private String city; 
private Int code; 
private String street; 
+0

此行为在hibernate或其他JPA实现文档中进行了广泛解释。你应该阅读它们。 – nmervaillie

回答

0

docs

Hibernate的建议是静态标记所有协会 懒惰和使用动态抓取策略的渴望。这是 不幸与JPA规范不一致,该规范定义了 默认情况下应该热切地提取所有一对一和多对一的关联 。作为JPA提供者,Hibernate会尊重这个默认值。

,因为Hibernate行为一样JPA:

OneToMany: LAZY 
ManyToOne: EAGER 
ManyToMany: LAZY 
OneToOne: EAGER 

而且看一看的JPA sepcifications here