java解析Hibernate对象时遇到问题,该对象包含Struts2 xslt结果类型中的集合
我正在编写一个应用程序,它利用一个具有几个多对一和一对多表关系的数据库。我在Eclipse中使用JBOSS工具对数据库进行反向工程,并创建POJO,外键关系的getter和setter如下所示:
@OneToMany(fetch = FetchType.LAZY, mappedBy = "users")
@LazyCollection(LazyCollectionOption.EXTRA)
public Set<Layouts> getLayoutses() {
return this.layoutses;
}
public void setLayoutses(Set<Layouts> layoutses) {
this.layoutses = layoutses;
}
在这些情况下,集合要么是空的哈希集,要么是填充了表示数据库中另一个表的POJO的哈希集
问题是转换过程阻塞了Set属性。如果我将FetchType设置为“LAZY”,我会收到一条javax.xml.transform.TransformerException: Error transforming result
消息,如果我将其更改为“eanger”,我也不会收到错误消息,但Struts2也不会做出响应(浏览器只是一直在加载)。如果我将集合getter改为“protected”或“private”而不是“public”,那么一切都会顺利进行,当然,除了结果集不包含这些属性这一事实之外
我读到的一切似乎都表明Struts2应该能够处理这些集合,但我能找到的唯一Struts2/Hibernate集成示例处理的是不包含映射外键关系的极其简单的数据
为了让Struts2 xslt结果类型与我的Hibernate持久性对象配合良好,我需要做什么
共 (0) 个答案