所以我有一个实体类,它包含一个带有 @ElementCollection 注释的属性,用于字符串列表。重点当然是持久化/检索字符串列表。
@ElementCollection
private List<String> listOfThings;
基于这个定义,Hibernate 创建了新的 db 表,但是当我为 listOfThings 赋值时:
record.setListOfThings(listOfStrings);
我可以看到有一个例外:
method threw 'org.hibernate.lazyinitializationexception' exception. cannot evaluate tostring() ...
因此,在得知我实际上需要listOfThings使用 EAGER 加载进行注释之后:
@ElementCollection(fetch = FetchType.EAGER)
private List<String> listOfThings;
我已经开始收到新的错误消息:
org.hibernate.SessionException: collections cannot be fetched by a stateless org.hibernate.internal.StatelessSessionImpl.initializeCollection(StatelessSessionImpl.java:299)
所以无论哪种方式,存储字符串列表都行不通。任何帮助表示赞赏。