我有一个具有以下结构的表:
int id | blob file_to_store | int version
我的域就是这样工作的:
@Entity
@Table(name = "FileToStore")
public class FileToStore{
@Id
@Column(name = "id")
private int Id;
@Column(name = "version")
private int version;
@Column(name = "file_to_store")
@Lob
private Blob file;
//gets and sets
}
有时我只需要一个文件版本。像这样:
FileToStore fileToStore=FileToStoreService.get(id);
return fileToStore.getVersion();
这会很快工作吗?还是我必须编写另一个SQL查询来获取版本字段以避免加载文件?Oracle文档称
Blob对象包含指向SQL Blob数据的逻辑指针,而不是比数据本身
我想你的问题可以归结为Hibernate是否懒惰地获取lob。基于这里的讨论,Spring、Hibernate、Blob懒惰加载,我建议在您的evnironment上进行测试。