3

我有一个非常简单的 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 支持数据库来实现的。

4

3 回答 3

8
@Lob
@Basic(fetch=FetchType.LAZY)
private String payload;
于 2012-05-10T14:00:55.893 回答
0

我想你也可以使用:

@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(//some col. name)
private String payload;
于 2012-05-17T17:22:18.303 回答
0

Hibernate 不会加载 lob,只要将其映射为 Lob 类型

于 2014-03-27T01:36:44.097 回答