我有一个包含6列的表,其中一列是CLOB列,在搜索此表时,我不想提供此列数据但是当用户请求详细信息然后加载它时,怎么做我使用Spring Data JPA实现了这一点,我试着在没有帮助的情况下使用Projections + MetaModel对象
答案 0 :(得分:0)
我是通过将两列移动到一个单独的表中来完成的。之前:
@Entity
public class Heavy implements Serializable {
// other properties
private byte[] image;
private byte[] thumb;
}
后:
@Entity
public class Light implements Serializable {
// other properties
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "fk_image_id")
private RawImage image;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "fk_thumb_id")
private RawImage thumb;
}
这意味着默认情况下不会加载图像/拇指数据,而我只是在需要时添加了一个fetch,如下所示:
String jpql = "select l from Light l join fetch h.image i";
有other techniques described in this answer,但它们并不像我认为这个简单的解决方案一样干净。