У меня есть следующие 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;
}
Теперь я хотел выполнить запрос JPQL
, чтобы получить список пользователей с их последней датой доступа.К сожалению, следующий запрос не возвращает пользователей, которые никогда не обращались к системе, то есть существуют в таблице UserClient
, но не имеют ни одной записи в таблице UserAccess
.
SELECT ua.user, MAX(ua.accessTs) FROM UserAccess ua RIGHT JOIN ua.user
Я что-то пропустил?Это правильное использование RIGHT JOIN?
Я использую последнюю версию Hibernate JPA (4.0.0.CR1)