0
包含的某個字段@Entity類:你如何執行的集合的最小尺寸在JPA或者Hibernate
@JsonProperty("arrays")
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "systemID", nullable = true)
private List<PVArray> arrays = null;
定義的集合。下一步是強制arrays
必須有一個或多個條目。
該系統正在使用Spring Boot進行開發,使用Jackson進行JSON序列化/反序列化,並使用Hibernate和JPA進行持久化。
我覺得像這樣的約束必須手動執行。我還沒有找到任何描述這個約束的註釋。 setter中的手動執行似乎不夠 - 如果傳入的JSON根本沒有arrays
字段?二傳手永遠不會被調用,也不可能執行。
是否有可能編寫JSON反序列化後調用的方法?或者更一般地說(因爲顯然這些類除了反序列化JSON之外還有其他方法實例化),這是一種在實例化對象結束時調用的方法,以便可以強制執行對象約束?
我有其他限制要考慮,而不僅僅是某些集合的大小。例如,一個類只能設置其中一個字段,而不是兩個字段。
https://docs.oracle.com/javaee/7/ api/javax/validation/constraints/Size.html –
這不是jpa,它只是堅持你擁有的東西。 Java bean驗證API是你需要的。更新問題和標籤 – DN1
謝謝你的指針 - 另一個廚房水槽學習。我可以在幾天內嘗試@Size。 –