【发布时间】:2013-06-24 13:50:45
【问题描述】:
我在用户和主题之间有非常简单的@ManyToMany 关系:
@ManyToMany(mappedBy = "users", fetch = FetchType.LAZY)
public Set<Topic> getTopics() {
return topics;
}
当我通过迭代器遍历这个集合时,返回的每个元素都是主题实体的代理。 它的类名是:Topic_javassist_4。 但据我所知,集合应该使用具体类型的元素(在我的例子中为“主题”)进行初始化。 为什么集合“主题”充满了代理?
更新这似乎是不可能的,但它确实是!我已经在活动事务中遍历我的“主题”集合并打印每个主题实体的类名称:
package_name.Topic_$$_javassist_4
package_name.Topic
为什么在同一个集合中第一个主题没有初始化,而第二个主题是?
顺便说一句,hibernate 记录选择语句以选择我的主题实体并将值打印到控制台,它们都是我从集合中获得的两个主题的正确值
谢谢!
【问题讨论】:
标签: hibernate collections many-to-many