Hibernate实体查询到Set <>

温暖的

我的目标是编写最短的查询,以按用户ID My UserEntity.class部分获得当前测试:

 @ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "result", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "test_id"))
private Set<Test> tests;

这是示例,我如何为他(我的UserDAO.class)获得所有测试:

public List<Test> getAvailableTestsById(long id){
    Query query = em.createQuery("SELECT u.tests FROM User u WHERE u.id = :id");
    query.setParameter("id", id);
    return (List<Test>)query.getResultList();
}

现在,我想为用户进行一项测试(例如,通过ID)。我怎样才能最好地做到这一点?我可以编写带有许多联接的长SQL查询,但是我觉得这不是一个合适的解决方案。我可以使用UserEntity.class中的Set来查找我需要的测试(按ID)吗?

无效的

仅是get该用户,或者load如果您确定该用户存在,则为该用户,然后获取该Test用户s:

User user =  session.load(User.class, userId);

或者

User user =  (User) session.get(User.class, userId);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章