package com.acme.jpa;
import java.util.List;
import javax.ejb.Local;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceContextType;
@Stateful
@Local(PersistenceManager.class)
public class PersistenceManagerBean implements PersistenceManager {
@PersistenceContext(type = PersistenceContextType.EXTENDED)
private EntityManager em;
@Override
@SuppressWarnings("unchecked")
public List<Record> selectAll() {
return em.createQuery("select r from Record r").getResultList();
}
@Override
public Record select(Long id, boolean fetchLineItems) {
Record r = em.find(Record.class, id);
if (fetchLineItems) {
r.getLineItems().size();
}
return r;
}
@Override
public boolean isManaged(Record record) {
return em.contains(record);
}
}