package net.java.cargotracker.infrastructure.persistence.jpa; import java.io.Serializable; import javax.enterprise.context.ApplicationScoped; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import net.java.cargotracker.domain.model.voyage.Voyage; import net.java.cargotracker.domain.model.voyage.VoyageNumber; import net.java.cargotracker.domain.model.voyage.VoyageRepository; @ApplicationScoped public class JpaVoyageRepository implements VoyageRepository, Serializable { private static final long serialVersionUID = 1L; @PersistenceContext private EntityManager entityManager; @Override public Voyage find(VoyageNumber voyageNumber) { return entityManager .createNamedQuery("Voyage.findByVoyageNumber", Voyage.class) .setParameter("voyageNumber", voyageNumber).getSingleResult(); } }