该表有多个我们希望始终获取的属性。但它还有一处非常大的房产。当获取信息以向用户显示项目列表时,如果获取了大型属性并且甚至没有使用它,则请求将明显变慢。
到目前为止,我只能通过将 byte[] 包装在一个单独的对象中并使用
@ManyToOne(fetch = FetchType.LAZY)
引用它来使其工作,这似乎是糟糕的设计。 @Lob
@Basic
和 @OneToOne
似乎不起作用,我宁愿不在单独的对象中拥有该属性。
听起来您已经尝试使用注释 byte[] 数组
@Basic(fetch = FetchType.LAZY)
。当使用 @Basic
注释和延迟获取时,必须设置额外的休眠选项。请参阅 Hibernate 文档 - 执行增强部分
具体来说,
hibernate.enhancer.enableLazyInitialization
属性必须设置为true。默认情况下未启用。