@Override
	public ProductModel createBook(BookModel book) throws WebshopAppException {
		int generatedId = ProductModel.DEFAULT_PRODUCT_ID;

		if (isValidBook(book, "CREATE_BOOK")) {

			try (Connection conn = getConnection()) {

				conn.setAutoCommit(false);

				try {
					generatedId = super.insertProduct(conn, book);

					insertBook(conn, book, generatedId);

					conn.commit();
				} catch (SQLException e) {
					rollback(conn);
					throw e;
				}

			} catch (SQLException e2) {
				WebshopAppException excep = new WebshopAppException(e2, this
						.getClass().getSimpleName(), "CREATE_BOOK");
				LOGGER.error(excep);
				throw excep;
			}

		}
		return null;
	}