У меня есть сервисный метод, который пытается добавить объект с помощью store()
метода hibernate.Метод get работает для этого DAO и класса обслуживания, тогда как добавление не работает.В консоли нет ошибок.
UrlWhiteListDaoImpl urlDao;
MapperFacade mapper;
@Autowired
public UrlWhiteListingServiceImpl(UrlWhiteListDao urlWhiteListDao, MapperFacade mapper, UrlWhiteListDaoImpl urlDao) {
this.urlDao = urlDao;
this.urlWhiteListDao = urlWhiteListDao;
this.mapper = mapper;
}
@Override
public UrlWhiteListDto addUrlWhiteListItem(UrlWhiteListDto urlWhiteListDto) throws Exception {
String domainUrlToBeAdded = parseUrl(urlWhiteListDto.getDomain());
if (isDomainExistbyName(domainUrlToBeAdded)) {
throw new Exception("Already existed domain is tried to be added");
}
UrlWhitelist urlModel = mapper.map(urlWhiteListDto,UrlWhitelist.class);
urlDao.store(urlModel);
return urlWhiteListDto;
}
Мой класс модели:
@Entity
@Table(name = UrlWhitelist.TABLE_NAME)
public class UrlWhitelist implements EntityBean {
public static final String TABLE_NAME = "URL_WHITE_LIST";
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID", nullable = false)
private Long id;
@NotBlank
@Column(name = "DOMAIN", nullable = false)
private String domain;
@NotBlank
@Column(name = "DISABLE", nullable = false)
private boolean disabled;
// getters & setters omitted
}
И класс реализации DAO:
public class UrlWhiteListDaoImpl extends EntityDaoImpl<UrlWhitelist, Long> implements UrlWhiteListDao {
protected UrlWhiteListDaoImpl() {
super(UrlWhitelist.class);
}
@Override
public List<UrlWhitelist> getByDomainName(String name) {
DetachedCriteria criteria = DetachedCriteria.forClass(UrlWhitelist.class);
criteria.add(Restrictions.eq("domain", name));
return getAllByCriteria(criteria);
}
}
В консоли нет ошибки, но в журнале сервера написано:
SEVERE: Servlet.service () для сервлета [services] в контексте с исключением пути path [] [Ошибка обработки запроса;Вложенное исключение: javax.validation.UnexpectedTypeException: HV000030: Не удалось найти валидатор для ограничения 'org.hibernate.validator.constraints.NotBlank', проверяющего тип 'java.lang.Boolean'.Проверьте конфигурацию для «отключен»] с первопричиной javax.validation.UnexpectedTypeException: HV000030: Не удалось найти валидатор для ограничения «org.hibernate.validator.constraints.NotBlank», проверяющего тип «java.lang.Boolean».Проверьте конфигурацию для 'disabled'
Я подумал, что что-то не так с отображением между классом и классом модели, но тогда почему метод get работает, и только store()
не работает?Какое решение?