【发布时间】:2017-03-18 13:31:14
【问题描述】:
这不是一个“问题”,因为一切都正常工作,但令人难以置信的是它工作正常而且我找不到答案。
所以我有一些简单的休眠 HQL 查询:
List<Comment> commentList = session.createQuery("select c, u from Comment as c, User as u where c.postRef.id = :post_id").setParameter("post_id", postId).getResultList();
当它运行时,我查看调试器,它返回 commentList,如下所示:
- commentList - "ArrayList<E>",
- elementData - Object[10]
- [0] - Object[2]
- [0] Comment
- [1] User
- [1] - null
- [2] - null ... ( etc, to the end it's null)
而我就是无法理解,这ArrayList<E> 中怎么可能有两种类型的对象? Comment 和 User 在一个 ArrayList 中,我可以假设这是在创建 ArrayList 的对象或其他东西,但是这怎么可能正确地将 ArrayList<Object> 返回到 List<Comment> 而不会引发任何异常?然后我的方法也是返回类型public List<Comment>,我返回这个确切的commentList,一切正常。
感谢任何帮助。
【问题讨论】:
标签: java list hibernate arraylist