package org.legrog.web.book; import org.legrog.entities.Book; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.ejb.Stateless; import javax.enterprise.inject.Alternative; import javax.inject.Inject; import javax.persistence.EntityManager; import javax.persistence.criteria.CriteriaQuery; import java.util.List; @Stateless @Alternative public class BookServiceOld implements BookService{ Logger logger = LoggerFactory.getLogger(getClass()); @Inject private EntityManager entityManager; public void addBook(Book book) { logger.debug("old one"); entityManager.persist(book); } public List<Book> getAllBooks() { CriteriaQuery<Book> cq = entityManager.getCriteriaBuilder().createQuery(Book.class); cq.select(cq.from(Book.class)); return entityManager.createQuery(cq).getResultList(); } public BookServiceOld() { } // package only constructor dedicated to injection BookServiceOld(EntityManager entityManager) { this.entityManager = entityManager; } }