在使用hibernate的spring mvc应用程序中,当我在两个实体之间的could not deserialize
关系中将FetchType
更改为EAGER
时,我收到OneToMany
错误{{ 1}}和Encounter
。每当我的应用程序中的任何数据驱动的URL被调用时,就会抛出错误,即使我只在一个关系中更改了Referral
。
注意:此帖子的部分代码已放置在文件共享网站上,您可以点击以下链接访问该网站。
另请注意:我尝试了FetchType
,但这会触发与FetchType.Lazy
相关的错误。所以我需要使用failing to lazily initiate... no session
。
FetchType.EAGER
中的相关属性定义是:
Encounter
可以在文件共享网站by clicking on this link上读取@OneToMany(fetch=FetchType.EAGER, cascade = CascadeType.ALL, mappedBy="encounter")
private Set<Referral> referrals = new HashSet<Referral>();
实体的完整代码。
Encounter
中的相关属性定义是:
Referral
可以在文件共享网站by clicking on this link上读取@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="encounter_id")
protected Encounter encounter;
实体的完整代码。
这是完整的堆栈跟踪:
Referral
答案 0 :(得分:4)
类型org.joda.time.LocalDate
的属性日期可能是罪魁祸首。 Jadira usertype library可以处理这些类型。
将库添加到类路径中,并使用:
注释LocalDate
字段
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentLocalDate")