Hibernate PersistentList和ArrayList

Edm*_*984 1 java collections hibernate arraylist

亲爱的所有人,我有一个带ArrayList注释的问题@ElementCollection.

我需要它是一个ArrayList,当Hibernate从会话加载对象时,它是一个休眠的持久列表.

我该如何解决这个问题?我正在使用带有hibernate注释的Hibernate,没有JPA,所以我不能做任何事情@PostLoad

最好的祝福

Boz*_*zho 9

使用a List而不是ArrayList:

@ElementCollection(..)
private List elements;
Run Code Online (Sandbox Code Playgroud)

如果您想要ArrayList专门做某事,可以创建一个副本:

ArrayList list = new ArrayList(elements);
Run Code Online (Sandbox Code Playgroud)

您需要使用接口,因为ORM使用这些接口的自定义实现来实现特定于orm的功能,例如延迟加载.Hibernate没有特定的子类ArrayList,它有一个PersistentList,它就是justa List.