我有以下2个实体:
class User { private String name; private UserType userType; } class UserType { private String name; }
我想获取userType名称等于'admin'的所有用户.我可以编写以下2个返回相同结果的查询.
select u from User u where u.userType.name = 'admin';
和
select u from User u join u.userType ut where ut.name = 'admin';
只是想了解哪种方法更可取,有什么区别.如果我总是可以使用实体之间的导航来获得结果,那么我何时想要遵循连接方法?