OpenJPA1.2 - 延迟加载一个BLOB

时间:2012-05-10 07:11:36

标签: jpa db2 jpql openjpa

我有一个非常简单的JPA实体。它具有一些简单的元数据字段,ID和大约500kB-10MB的有效负载字符串。

@Entity
public class MyEntity{
  @Id
  @GenerateValue(Strategy=GenerationType.IDENTITY)
  private long myEntityId;

  private String metaData1; 
  ..
  private String metaDataN;

  @Lob
  private String payload; // large.

}

大多数情况下,我并不是在加载有效负载,而只是查询元数据字段。有没有办法在没有创建包装有效负载的特定实体的情况下加载延迟有效负载,并且与我的主实体中的那个具有一对一关系的延迟加载?

使用OpenJPA 1.2和DB2后备数据库实现整个过程。

3 个答案:

答案 0 :(得分:8)

@Lob
@Basic(fetch=FetchType.LAZY)
private String payload;

答案 1 :(得分:0)

我认为你也可以使用:

@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(//some col. name)
private String payload;

答案 2 :(得分:0)

只要将Hibernate映射为Lob类型

,它就不会加载lob