0

我想用休眠将一些文件内容保存到数据库中,我的休眠模型是:

import javax.persistence.*;
import java.io.Serializable;
import static javax.persistence.AccessType.FIELD;

@Entity
@Access(FIELD)
@Table(name = "MYFILE")
public class MyFile implements Serializable {

    @Id
    @SequenceGenerator(name = "MYSEQ", sequenceName = "MYSEQ", allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MYSEQ")
    @Column(name = "ID")
    private Long id;


    @Column(name = "FILE_CONTENT")
    @Lob
    private byte[] fileContent;

    // getters and setters

}

可以看到fileContent字段的类型是byte[]@Lob上面有个a。

它运行良好,但问题是如果文件很大,例如 10M 或 20M,它将使用大量内存,这在生产中是一个问题。

我想知道是否有任何方法可以使用低内存,比如使用 astream而不是byte[]?但我不确定什么是正确的解决方案。

4

0 回答 0