/** * Does the book's signature already exists? If signature is null, then return always false. * * @param signature * @return */ @SuppressWarnings("unchecked") public boolean doesSignatureAlreadyExist(final BookDO book) { Validate.notNull(book); if (book.getSignature() == null) { return false; } List<BookDO> list = null; if (book.getId() == null) { // New book list = (List<BookDO>) getHibernateTemplate().find("from BookDO b where b.signature = ?", book.getSignature()); } else { // Book already exists. Check maybe changed signature: list = (List<BookDO>) getHibernateTemplate().find("from BookDO b where b.signature = ? and pk <> ?", new Object[] { book.getSignature(), book.getId() }); } if (CollectionUtils.isNotEmpty(list) == true) { return true; } return false; }