package my.app.crud.business; import java.util.List; import javax.ejb.Stateless; import javax.ejb.TransactionAttribute; import javax.ejb.TransactionAttributeType; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; import my.app.crud.model.Book; @Stateless @TransactionAttribute(value = TransactionAttributeType.REQUIRED) public class BookServiceBean { @PersistenceContext private EntityManager entityManager; public Book create() { return new Book(); } public void delete(Book book) { book = entityManager.merge(book); entityManager.remove(book); } public Book update(Book book) { return entityManager.merge(book); } public Book find(Integer id) { return entityManager.find(Book.class, id); } @SuppressWarnings("unchecked") public List getAllBooks() { Query query = entityManager.createNamedQuery("Book.findAll"); List result = (List)query.getResultList(); return result; } }