如何在JPA中获取连接键列表

时间:2019-05-31 14:29:21

标签: java jpa

如何获取事件对象中的pictures_id列表?

structure

@Entity
public class Event {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    private String title;
    private String description;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date starttime;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date endtime;

    // add List<Long> picture_ids

    @OneToMany(cascade = CascadeType.ALL)
    @LazyCollection(LazyCollectionOption.TRUE)
    private List<Picture> pictures = new ArrayList<Picture>();
}

我希望能够在没有整个图片对象的情况下获取事件,因为它们很大。但是我找不到仅查询图片键的解决方案。

1 个答案:

答案 0 :(得分:-1)

@LazyCollection是特定于休眠的注释,仅在使用Hibernate作为JPA Providor时才能使用。

@OneToMany注释是纯JPA,因此它将与任何Jpa Providor一起使用。

您只能使用@OneToMany(fetch = FetchType.LAZY)实现延迟加载

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private List<Picture> pictures = new ArrayList<Picture>();