5
即時通訊使用Hibernate代理上的Bean驗證失敗?預期的行爲?
- 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
等等。 一切工作正常。但是,當我通過Lazy Load加載一個實體並嘗試驗證它。 驗證程序每次都會失敗。這似乎是因爲我得到一個Hibernate代理對象。
我可以只unproxying得到它角落找尋這個「問題」很容易。(但事實並非如此有利的在我的處境)
這是預期的行爲?我是否在OpenJPA,EclipseLink ....中獲得相同的行爲?
週日愉快的傢伙;)我希望我確實讓問題清楚了嗎?
Thx這兩個鏈接都非常有幫助。我不能upvote你的答案雖然:(但這是「解決方案」 – Marvin
Thx男子您的幫助;;)我想參與更多的社區;) – Marvin
@Marvin你是如何解決你的問題?我甚至沒有注意到方法,這是我最初做的。順便說一句,如果它很重要,我的是一對多關係。 – Quincy