Spring ConversionService延迟加载

时间:2015-01-23 00:35:05

标签: java spring hibernate converter

我有一个转换器,可以将域对象转换为数据传输对象。我的域对象有一个懒惰加载的集合。如果我没有使用转换服务在控制器方法上放置@Transactional,我会得到org.hibernate.LazyInitializationException

我也无法将@Transactional放在转换器中的方法或类上,因为它会导致

Caused by: java.lang.IllegalArgumentException: Unable to the determine sourceType <S> and targetType <T> which your Converter<S, T> converts between; declare these generic types.

所以我想知道我有什么选择来解决这个或更好的设计方案?

1 个答案:

答案 0 :(得分:0)

首先,你必须传递一个完全内化的对象。

将您的收藏标记为FetchType.EAGER

或者在您的服务中,在检索时,

hibernate.initialize(parent.getChilds())