1

我正在编写一个应用程序,该应用程序利用具有几个多对一和一对多表关系的数据库。我使用 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;
}

在这些情况下,Set 要么是空的 HashSet,要么是用 POJO 填充的 HashSet,代表数据库中的另一个表。

问题是转换过程在 Set 属性上阻塞。如果我将 FetchType 保留在“LAZY”上,我会收到一条javax.xml.transform.TransformerException: Error transforming result消息,如果我将其更改为“EAGER”,我不会收到错误消息,但 Struts2 也没有响应(浏览器只会永远加载)。如果我将 Set getter 更改为“protected”或“private”而不是“public”,那么一切都会顺利进行,当然,除了结果集不包含这些属性这一事实。

我读过的所有内容似乎都表明 Struts2 应该能够处理集合,但是我能够找到的唯一 Struts2/Hibernate 集成示例处理非常简单的数据,其中不包含映射的外键关系。

为了让 Struts2 xslt 结果类型与我的 Hibernate 持久性对象很好地配合,我需要做什么?

4

0 回答 0