我有一个API,允许第三方通过代表我的java域的XML文件与我的数据库进行交互。
我使用JAXB定义xsd以及我的POJO和XML之间的marshal / un-marshal。
我面临的问题是如何支持等效的hibernate延迟加载。即,仅在特定条件下递归地编组对象。我想到的条件就像RequestFactory使用的那样是一个.with(...),用户可以准确指定要返回的对象图的哪一部分。
考虑一个" Person"有一个"图像"在另一张桌子里。使用API并请求" Person"我希望能够指定.with(图像)或等效的东西,否则每个用例都会受到惩罚,必须携带这个图像
(a)不是必需的
(b)有不必要的数据库。
我有100多个表格,排列过于复杂,无法编写专门的POJO代码。
如何使用JAXB或任何其他免费库满足上述要求。
答案 0 :(得分:0)
一种可能的简单解决方案(假设您使用带有JAXB注释的JPA实体,但与简单的POJO一起使用):
示例:
@Entity
@XmlType
@XmlRootElement
@XmlAccessorType(value = XmlAccessType.FIELD)
public class SampleEntity {
@Id private long id;
@Column private String meaningful;
@Column private String something1;
@OneToMany private List<Something> something2;
SampleEntity copyForExport() {
SampleEntity copy = new SampleEntity();
copy.id = id;
copy.meaningful = meaningful;
return copy;
}
}