/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package facades; import facades.local.BookFacadeLocal; import entities.Book; import java.util.List; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.TypedQuery; /** * * @author Burabari */ @Stateless public class BookFacade implements BookFacadeLocal { @PersistenceContext(unitName = "Book_db-ejbPU") private EntityManager em; /**Finds Book record by title*/ @Override public Book findBookByTitle(String title){ TypedQuery query = em.createNamedQuery(Book.FIND_BY_BOOK_TITLE, Book.class); query.setParameter("bookTitle", title); List resultList = query.getResultList(); return resultList.get(0); } /**Creates new Book*/ @Override public void create(Book book) { em.persist(book); } /**Updates Book record*/ @Override public void edit(Book book) { em.merge(book); } /**Deletes Book record*/ @Override public void remove(Book book) { em.remove(em.merge(book)); } /**Finds Book record by id*/ @Override public Book find(Long book_id) { return em.find(Book.class, book_id); } }