获取持久实体时不获取 byte[] 列的最佳方法是什么?

问题描述 投票:0回答:1

该表有多个我们希望始终获取的属性。但它还有一处非常大的房产。当获取信息以向用户显示项目列表时,如果获取了大型属性并且甚至没有使用它,则请求将明显变慢。

到目前为止,我只能通过将 byte[] 包装在一个单独的对象中并使用

@ManyToOne(fetch = FetchType.LAZY)
引用它来使其工作,这似乎是糟糕的设计。
@Lob
@Basic
@OneToOne
似乎不起作用,我宁愿不在单独的对象中拥有该属性。

java database hibernate jpa hql
1个回答
0
投票

听起来您已经尝试使用注释 byte[] 数组

@Basic(fetch = FetchType.LAZY)
。当使用
@Basic
注释和延迟获取时,必须设置额外的休眠选项。请参阅 Hibernate 文档 - 执行增强部分

具体来说,

hibernate.enhancer.enableLazyInitialization
属性必须设置为true。默认情况下未启用。

© www.soinside.com 2019 - 2024. All rights reserved.