0
我正在增強,以創建一個新表,並參考該ID作爲新列在現有的表B休眠ConstraintValidation同時運行JUnit
我省略了整個實體類簡潔。
import javax.validation.constraints.NotNull;
import org.apache.bval.constraints.NotEmpty;
public class TableB implements Serializable {
--
@NotNull
@NotEmpty
@Column(name = "ContactReasonID")
private Integer contactReasonID;
---
}
我的JUnit測試方法是下面列出
@Test
public void testUpdateInteraction(){
try {
interactionService.updateTableB(228, 2, 2642, "test");
assertTrue(true);
} catch (Exception e) {
assertTrue(false);
}
}
爲updateTableB的參數都指的是老列。 但是當我運行測試情況下,我得到一個ConstraintViolationException如下圖所示
[ConstraintViolationImpl{[email protected], propertyPath='contactReasonID', message='may not be null', [email protected], value=null}]
但contactReasonID是空列。我感到困惑的是約束在哪裏。
環境的詳細信息:
<spring-framework.version>3.1.2.RELEASE</spring-framework.version> <spring-data-jpa>1.4.4.RELEASE</spring-data-jpa>
<hibernate-framework.version>4.0.1.Final</hibernate-framework.version>
任何指針或指導,將有很大的幫助。
哇這麼明顯我錯過了。總是很好,有一雙額外的眼睛。謝謝@Ish – ashwin