Java spring中jpa实体延迟加载文件的推荐模式
长期用户,第一次张贴在这里 我们有一个jpa可嵌入类,用于跟踪文件。看起来像是这些加上我去掉的不相关的东西Java spring中jpa实体延迟加载文件的推荐模式,java,spring,jpa,Java,Spring,Jpa,长期用户,第一次张贴在这里 我们有一个jpa可嵌入类,用于跟踪文件。看起来像是这些加上我去掉的不相关的东西 @Embeddable public class Blob { @Column(name="FILE_ID", length=64) private String blobFile; @Column(name="PATH", length=256) private String path; @Column(name="SIZE") private long size; @Trans
@Embeddable
public class Blob {
@Column(name="FILE_ID", length=64)
private String blobFile;
@Column(name="PATH", length=256)
private String path;
@Column(name="SIZE")
private long size;
@Transient
private byte[] data;
... stuff ...
public byte[] getData() { return data; }
}
最初,类Blob包含用于实际读取和写入文件系统的代码,我已将其移动到类似于这样的Spring组件(再次简化),现在代码库的其他区域需要文件系统访问
interface FileSystem {
public void writeFile(String filepath, byte[] bytes);
public byte[] readFile(String filepath);
}
设置byte[]数据后,我希望在保存嵌入Blob类的实体时将其保存到磁盘。嵌入此类的实体可能会非常频繁地加载,但我很少需要从磁盘检索文件,因此我想:
- 仅当代码请求时加载文件
- 使用我的spring组件加载文件