我有一個實體:@Entitypublic class MyEntity { @Id private String Id; @NotNull @Column(nullable = false) private Integer size; public void setSize(Integer size) { this.size = size; } public Integer getSize() { return this.size; } public void setId(String id) { this.id = id; } public String getId() { return this.id; }}一個存儲庫:@Repositorypublic class MyEntityDAO { @PersistenceContext private EntityManager em; public void create(MyEntity myEntity) { em.persist(myEntity); }}應(yīng)該拋出異常的測試:@RunWith(SpringRunner.class)@Transactional@SpringBootTestpublic class MyEntityDAOTest { @Inject private MyEntityDAO myEntityDAO; @Test(expected = ConstraintViolationException.class) public void nullSizeNotAllowedTest() { MyEntity myEntity = new MyEntity(); myEntity.setSize(null); myEntity.setId("entity_id"); myEntityDAO.create(myEntity); }}但是測試失敗。實體不會拋出所需的異常。注釋適用于字符串,但不適用于整數(shù)。MyEntity 的自動生成表:FIELD TYPE NULL KEY DEFAULT ID VARCHAR(255) NO PRI NULLSIZE INTEGER(10) NO NULL
2 回答

蝴蝶不菲
TA貢獻1810條經(jīng)驗 獲得超4個贊
試試這個,在我的情況下按預(yù)期工作。
@Column(name = "size", nullable = false)
@NotNull(message= "size may not be empty.")
private Integer size;
添加回答
舉報
0/150
提交
取消