use*_*339 5 java jpa criteria-api jpa-2.0
如果您有这个实体:
@Entity
public class A {
@ManyToOne
@JoinColumn(name = "bField", nullable = true)
private B myBObject;
}
Run Code Online (Sandbox Code Playgroud)
我有一个Criteria的通用生成器,它将执行以下操作:
Root<A> root = criteria.from(A.class);
root.get("myBObject").get("aFieldInB");
Run Code Online (Sandbox Code Playgroud)
问题如下:生成的sql将包含A和B之间的CROSS JOIN。但是我希望生成的sql将包含A和B之间的LEFT JOIN。
我怎样才能做到这一点?
您必须使用 join()。一般来说,最好始终使用 join() 来建立关系。
请参阅 http://en.wikibooks.org/wiki/Java_Persistence/Criteria#JoinType
| 归档时间: |
|
| 查看次数: |
3256 次 |
| 最近记录: |