我使用了很多课程,所以我宁愿尝试描述我的代码。
我将实体映射到名称字段的数据库,如下所示:
@Column(nullable=false, length=DataLengthConstants.STRING_SHORT)
private String name;
我正在为所有CRUD操作使用服务。我的edit()
方法:
public UserDto editUser(UserDto userDto) {
Validate.notNull(userDto);
Validate.notNull(userDto.getId());
UserEntity formerEntity = userDao.findById(userDto.getId());
UserEntity editedEntity = userDao.save(dtoToEntity(formerEntity, userDto));
return entityToDto(editedEntity);
}
在DAO / DTO类或转换器中没有空值检查或类似问题。
当我运行单元测试时,我希望在尝试保存空名时获得PersistenceException
。当我运行testCreateUser()
时,一切都很好,抛出异常。但是,在尝试编辑时(使用相同的DAO方法),不会抛出任何内容,并且null存储在数据库中。