当前位置: 首页 > 知识库问答 >
问题:

有Hibernate@LazyCollection注释的@OrderColiv有什么用?

申昌勋
2023-03-14
@Entity(name = "Department")
public static class Department {

    @Id
    private Long id;

    @OneToMany(mappedBy = "department", cascade = CascadeType.ALL)
    @OrderColumn(name = "order_id")
    @LazyCollection( LazyCollectionOption.EXTRA )
    private List<Employee> employees = new ArrayList<>();

    //Getters and setters omitted for brevity

}

那么在这里@OrderColiv(name="order_id")有什么用呢?

那么在这里@OrderColiv(name="order_id")有什么用呢?

共有1个答案

鱼旺
2023-03-14

@LazyCollection(LazyColltionOption.EXTRA)将在访问时加载列表的单个条目,而不是在第一次访问任何元素时加载整个集合(就像正常的JPA延迟加载一样)。但是,这需要对集合进行排序,这就是为什么需要@OrderColiv。https://vladmihalcea.com/hibernate-extra-lazy-collections/

 类似资料:
  • 问题内容: 我有2个实体,如“父对子”和“一对多”关系 因此,这里 @LazyCollection(LazyCollectionOption.EXTRA)的 用途是什么,它将何时出现在图片中,例如对哪个带有子列表的操作有好处? 问题答案: 为了给您一个提示,主要是出于性能方面的考虑,您可以开始阅读以下链接: 二级缓存 休眠文档

  • 问题内容: 我有2个实体作为“一对多”的父子关系 因此,这里 @LazyCollection(LazyCollectionOption.EXTRA)的 用途是什么,它将何时出现在图片中,例如对哪个带有子列表的操作有好处? 问题答案: 为了给您一个提示,主要是出于性能方面的考虑,您可以开始阅读以下链接: 二级缓存 hibernate文档

  • 问题内容: 尝试序列化作为JPA实体的ESRBRating对象时,我遇到了两个不同的堆栈跟踪(请参见下文)。我正在使用Spring DataJPA。控制器称为服务,服务称为存储库。通过在我的ESRBRating对象上添加@Proxy(lazy = false),我能够解决此问题。 我的主要问题是@Proxy(lazy=false)实际做什么?为什么添加时起作用?这是一个好的解决方案,还是会产生诸如

  • 问题内容: 我大致了解这种构造的作用:它创建了SomeType EJB,并将对象注入到另一个EJB中。 现在,我有一个以这样的方式开始的类:(尽管我认为只有的相关,我会给出所有类级别的注释) 什么的就做吗?他们可能会从JNDI获取或创建“ name1” …对象,但是将结果放在哪里?我看不到附近有任何电话,但是代码库很大,所以我对此不太确定。 额外的问题:我想这两个注释只是重复默认值? 更新:目前有

  • 问题内容: 嵌入式注释如何影响数据库? SQL查询将如何改变? 使用注释的典型用例是什么? 问题答案: 嵌入式注释如何影响数据库? 它根本不影响它。在ORM提供程序层上,来自嵌入式实体的所有字段都 将 与父实体 合并 ,并像对待它们始终在其中声明一样。换句话说,它的工作方式就好像您将所有字段,获取器和设置器直接复制到包含嵌入式对象的实体中一样。 SQL查询将如何改变? 他们不会。您无需更改任何内容