我有以下JPA实体:
@Entity
class UserClient{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
}
@Entity
class UserAccess{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@ManyToOne(optional = false, cascade = { CascadeType.REFRESH })
private UserClient user;
@Temporal(TemporalType.TIMESTAMP)
private Date accessTs;
}
Run Code Online (Sandbox Code Playgroud)
现在,我想运行JPQL查询以获取具有上次访问日期的用户列表.遗憾的是,以下查询不会返回从未访问过系统的用户,即存在于UserClient表中,但一个中没有任何记录UserAccess.
SELECT ua.user, MAX(ua.accessTs) FROM UserAccess ua RIGHT JOIN ua.user
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?这是正确使用RIGHT JOIN吗?
我正在使用最新的Hibernate JPA版本(4.0.0.CR1)