我的猜测是这个问题在某个地方得到了回答,但我似乎找不到合适的关键词来搜索。
我有这些实体:
@Entity
Entity1{
<random fields>
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "entity_2")
Entity2 e2;//might be null.
}
@Entity
Entity2{
<random fields>
String name;
}
我想编写一个查询,返回我所有的 Entity1 按其 Entity2 的名称排序的。我试过这个:
SELECT e1 from Entity1 e1 ORDER BY e1.e2.name ASC
上述查询的问题(在 mysql 上测试)是它只返回 e2 不为空的实体 1。
我需要的是一种获取所有 Entity1 的方法,即使 e2 为空。
附言。我也试过这些,结果相同:
SELECT e1 from Entity1 e1 ORDER BY e1.e2 ASC, e1.e2.name ASC
SELECT e1 from Entity1 e1 ORDER BY e1.e2.name ASC, e1.e2 ASC
提前致谢!
//hql新手
编辑:
添加了我使用的 jpa -annotations。