【问题标题】:How to get info of only an entity in hibernate like lazy loading with Jersey?如何仅在休眠状态下获取实体的信息,例如使用 Jersey 进行延迟加载?
【发布时间】:2015-10-15 15:41:48
【问题描述】:

我正在使用带有 Jersey REST api 的 hibernate 来为 android 应用程序公开我的数据库。

我在解析 JSON 时遇到了急切获取问题,这在 android 中消耗了大量内存:

假设我有以下实体:用户、答案和问题。 用户有很多答案(OneToMany),一个问题有很多答案(OneToMany)

用户具有管理员和普通用户等角色。

所以,现在,当我查询用户时,我得到了该用户的所有答案,在这个答案中我有问题并嵌套了问题,我有所有用户的答案和所有其他用户的数据也是因为在 Eager 工作。

我不用去查询其他用户的数据,什么时候是普通用户,很不安全,普通用户可以访问所有其他用户的数据,消耗不必要的内存。

我考虑过尝试实现延迟加载,但是,我用谷歌搜索过,我没有找到在这种情况下休眠如何与泽西岛协商。因为当 a 将尝试更新某个实体时,该实体可能会被分离并丢失一些双向关系信息,这可能是一个问题。

我该如何解决这个问题?

谢谢。

【问题讨论】:

    标签: java json hibernate rest jax-rs


    【解决方案1】:

    如果我理解您的问题,您可以使用 fetch type Lazy 注释 User 和 Answers 之间的关系

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-19
      • 1970-01-01
      • 2011-06-15
      • 2015-01-01
      • 1970-01-01
      • 2013-05-25
      • 1970-01-01
      相关资源
      最近更新 更多