package fi.otavanopisto.pyramus.dao.changelog;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import fi.otavanopisto.pyramus.dao.PyramusEntityDAO;
import fi.otavanopisto.pyramus.domainmodel.changelog.ChangeLogEntryEntity;
import fi.otavanopisto.pyramus.domainmodel.changelog.ChangeLogEntryEntityProperty;
@Stateless
public class ChangeLogEntryEntityPropertyDAO extends PyramusEntityDAO<ChangeLogEntryEntityProperty> {
public ChangeLogEntryEntityProperty create(ChangeLogEntryEntity entity, String name) {
EntityManager entityManager = getEntityManager();
ChangeLogEntryEntityProperty changeLogEntryEntityProperty = new ChangeLogEntryEntityProperty();
changeLogEntryEntityProperty.setEntity(entity);
changeLogEntryEntityProperty.setName(name);
entityManager.persist(changeLogEntryEntityProperty);
return changeLogEntryEntityProperty;
}
public ChangeLogEntryEntityProperty findByEntityAndName(ChangeLogEntryEntity entity, String name) {
EntityManager entityManager = getEntityManager();
Query query = entityManager.createQuery("from ChangeLogEntryEntityProperty where entity = :entity and name = :name");
query.setParameter("name", name);
query.setParameter("entity", entity);
@SuppressWarnings("unchecked") List<ChangeLogEntryEntityProperty> result = query.getResultList();
return result.size() == 1 ? result.get(0) : null;
}
}