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();
}
}