Sha256: e347bd7a02e305b5d1f1554282dd241cd0a4d2ed08cfd9e5c27398fc5aafab14
Contents?: true
Size: 1.05 KB
Versions: 1
Compression:
Stored size: 1.05 KB
Contents
package <%= options[:package] %>.<%= options[:repositories_package] %>; import java.lang.reflect.ParameterizedType; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.springframework.transaction.annotation.Transactional; @Transactional public abstract class GenericRepository<T> { protected EntityManager em; protected final Class<T> clazz; protected GenericRepository() { @SuppressWarnings("unchecked") Class<T> clazz = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; this.clazz = clazz; } @PersistenceContext public void setEntityManager(EntityManager em) { this.em = em; } public void add(T entity) { em.persist(entity); } public T update(T entity) { return em.merge(entity); } public void remove(Long id) { em.remove(get(id)); } public T get(Long id) { return em.find(clazz, id); } @SuppressWarnings("unchecked") public List<T> all() { return em.createQuery("from " + clazz.getName()).getResultList(); } }
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
springmvc-scaffold-1.0.1 | lib/springmvc-scaffold/generators/app/templates/orm/Repository-jpa.java.tt |