2

我很想通过 JPA 使用 GAE SQL 云,但如果出现问题,我将退回到使用 JPA 的数据存储。

我可以预见,如果我的域对象被注释为实体 A 拥有实体 B,然后实体 B 与实体 C、D 和 E 有关系,那么除非延迟加载,否则向 JPA 询问实体 A 可以加载实体 B 到 E。

因为我打算使用 JAX-RS,所以当 JAXB 编组器启动时,这不会导致延迟加载来水合整个对象图吗?

控制暴露内容的最佳做法是什么?

我目前正在考虑编写一个 DAO 层,明确表示“获取所有用户,但不获取他们的孩子”,或“获取所有具有登录历史记录的用户”。我是否可以使用 JPA / JAX-RS 进行这种级别的控制,或者我最好使用 SQL 查询和 JDBC 来编写它?

4

1 回答 1

0

是的,当您将 A 实体提交给 JAXB 时,它将检查其关系,这将加载实体 B、C 和 E。

为了防止这种情况,您可以用 注释关系@XmlTransient,它们将不会被导航。

于 2012-12-10T10:43:32.650 回答