Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.jboss.tools.examples.DAO;
- import java.util.List;
- import java.util.logging.Logger;
- import javax.inject.Inject;
- import javax.persistence.EntityManager;
- public abstract class DAO<T> {
- @Inject
- private Logger log;
- @Inject
- private EntityManager em;
- protected <T> T update(T entity) {
- return em.merge(entity);
- }
- protected <T> T create(T t) {
- return em.merge(t);
- }
- protected <T> void delete(T t) {
- em.remove(t);
- }
- protected <T> T readById(Class<T> pClass, int pId) {
- return em.find(pClass, pId);
- }
- public <T> List<T> queryFind(int maxResults, Class<T> clazz, String queryName, Object... parameters) {
- javax.persistence.Query q = em.createNamedQuery(queryName);
- if (parameters != null) {
- for (int i = 0; i < parameters.length; i++) {
- q.setParameter(i + 1, parameters[i]);
- }
- }
- q.setMaxResults(maxResults);
- return (List<T>) q.getResultList();
- }
- public <T> List<T> queryFind(Class<T> clazz, String queryName, Object... parameters) {
- return queryFind(Integer.MAX_VALUE, clazz, queryName, parameters);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement