亲爱的,
ArrayList
使用@ElementCollection
注释时出现问题。
我需要它是ArrayList
,当Hibernate从会话加载对象时,它是一个休眠持久列表。
我该如何解决这个问题?我正在使用带有hibernate注释的Hibernate,没有JPA,所以我不能做任何@PostLoad
最好的问候
答案 0 :(得分:7)
使用List
代替ArrayList
:
@ElementCollection(..)
private List elements;
如果您希望专门对ArrayList
执行某些操作,则可以创建副本:
ArrayList list = new ArrayList(elements);
您需要使用接口,因为ORM使用这些接口的自定义实现来实现特定于orm的功能,例如,懒加载。 Hibernate没有ArrayList
的特定子类,它有一个PersistentList
,它只是List
。