我在我的項目中使用了javax.validation
API,並且在某些開發人員計算機和測試服務器上存在標題問題。在其他開發人員機器上,儘管我們使用的是由Maven處理的相同Glassfish版本,IDE和庫堆棧,但無法再現此錯誤。找不到可用於類型的驗證程序:java.lang.Object
在調試這個問題,我們猜測這可能是問題的原因(不能編譯的類裏面調試,因此「疑似」) - 我們有一個接口,用於我們的持久化的實體:
public interface PersistableEntity<T> {
public T getId();
public void setId(T id);
}
實現類按'id'字段類型拆分:String
或BigDecimal
。 @Pattern
約束連接到PersistableEntity<String>
實現中id
字段的獲取方。
如果這是原因,是否可以使用javax.validation
來維護驗證,並在同一時間使用泛型?
更新 我們決定從JSR303移動到自定義配置的驗證機制。如果有問題的人發現它是解決方案,請讓我知道它是哪一個,我會將其標記爲答案(歡迎來自經驗豐富的SO用戶的任何其他解決方案以避免這種困境)。
貴國是否能實現這個PersistableEntity接口的實體? ([SSCCE(http://sscce.org/)) – sp00m
@ sp00m,我們有持久化的實體大層次樹,並在年底有比較大的POJO類,這將是很難在這裏一一列舉下來的。 –