package com.mycompany.repository; import java.util.List; import javax.inject.Inject; import javax.persistence.EntityManager; import javax.persistence.TypedQuery; import com.mycompany.interceptor.Transactional; import com.mycompany.model.Movimiento; public class MovimientoRepository { private EntityManager manager; @Inject public MovimientoRepository(EntityManager manager){ this.manager = manager; } public List<Movimiento> todos(){ TypedQuery<Movimiento> query = manager.createQuery("from Movimiento", Movimiento.class); return query.getResultList(); } @Transactional public void agregar(Movimiento movimiento){ this.manager.persist(movimiento); } public List<String> descripcionQueCuenten(String descripcion){ TypedQuery<String> query = manager.createQuery( "select distinct descripcion from " + "Movimiento where upper(descripcion) " + "like upper(:descripcion) ", String.class); query.setParameter("descripcion", "%" + descripcion + "%"); return query.getResultList(); } public Movimiento porId(Long id){ return manager.find(Movimiento.class, id); } public Movimiento guardar(Movimiento movimiento) { return this.manager.merge(movimiento); } public void eliminar(Movimiento movimiento){ this.manager.remove(movimiento); } }