我在用着
- hibernate-core-4.0.1.Final
- hibernate-validator-4.2.0.Final
我有一个延迟加载的实体
@NotNull
@OneToOne(fetch = FetchType.LAZY,optional = false,cascade = CascadeType.PERSIST)
@JoinColumn(name="library_id")
private Library library;
public Library getLibray() {
return library;
}
和一个 defaultValidator
private final ValidatorFactory factory = Validation
.buildDefaultValidatorFactory();
private final Validator val = factory.getValidator();
当我试图验证未附加和附加的实体注释时@NotNull, @Size
等等。一切正常。但是当我通过延迟加载加载实体并尝试验证它时。验证器每次都失败。这似乎是因为我得到了一个休眠代理对象。
我可以通过取消代理轻松解决这个“问题”。(但这在我的情况下不太有利)
这是预期的行为吗?我在 OpenJPA、EclipseLink 中是否得到相同的行为......?
祝大家星期天愉快;)我希望我确实把问题说清楚了吗?