我知道这是着名的Exception,但我找不到解决这个问题的方法。
@Entity
public class Action {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@NotBlank
private String name;
@Any(metaColumn = @Column(name ="rule_type"),fetch = FetchType.EAGER)
@AnyMetaDef(idType = "long",metaType = "string",metaValues = {@MetaValue(targetEntity = ScheduledRule.class,value = "scheduledRule"),
@MetaValue(targetEntity = NagiosRule.class,value = "nagiosRule")})
@JoinColumn(name = "rule_id")
@Fetch(value = FetchMode.JOIN)
private Rule rule;
//few other lines of code not relevant here
} // end of class
当我尝试使用会话API从数据库中获取Action实体时出现问题,我收到以下错误:
方法抛出'org.hibernate.LazyInitializationException'异常。 无法评估 flipkart.alert.rule.domain.NagiosRule _ _ $$ jvst204_1e.toString()。
我无法理解为什么会发生这种情况,因为我只使用FetchType作为Eager。