Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class DaoGenericoImp<T, ID extends Serializable> implements DaoGenerico<T, ID> {
- protected abstract EntityManager getEntityManager();
- protected abstract Class<T> getClasseDominio();
- @Override
- public T atualizar(T object) {
- getEntityManager().merge(object);
- return object;
- }
- @Override
- public void excluir(T object) {
- object = getEntityManager().merge(object);
- getEntityManager().remove(object);
- }
- @Override
- public Class<T> getObjectClass() {
- return this.getClasseDominio();
- }
- @SuppressWarnings("unchecked")
- @Override
- public List<T> listPesq(String query) {
- Query q = getEntityManager().createQuery(query);
- return q.getResultList();
- }
- @Override
- public List<T> listPesqQuery(String query) {
- Query q = getEntityManager().createNativeQuery(query);
- return q.getResultList();
- }
- @Override
- public List<T> listPesqQuery(String query, Map<String, Object> params) {
- Query q = getEntityManager().createNativeQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- return q.getResultList();
- }
- @Override
- public T pesqQueryNativa(String query, Map<String, Object> params) {
- Query q = getEntityManager().createNativeQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- return (T) q.getSingleResult();
- }
- @Override
- public T pesqQuery(String query) {
- List<T> lista = listPesqQuery(query);
- for (T t : lista) {
- return t;
- }
- return null;
- }
- @Override
- public T pesqQuery(String query, Map<String, Object> params) {
- List<T> lista = listPesqQuery(query, params);
- for (T t : lista) {
- return t;
- }
- return null;
- }
- @SuppressWarnings("unchecked")
- @Override
- public List<Object> listPesqQueryUmParametro(String query) {
- Query q = getEntityManager().createNativeQuery(query);
- return q.getResultList();
- }
- @SuppressWarnings("unchecked")
- @Override
- public List<Object> listPesqQueryUmParametro(String query, Map<String, Object> params) {
- Query q = getEntityManager().createNativeQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- return q.getResultList();
- }
- @SuppressWarnings("unchecked")
- @Override
- public List<T> listPesqParam(String query, Map<String, Object> params) {
- Query q = getEntityManager().createQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- return q.getResultList();
- }
- @SuppressWarnings("unchecked")
- @Override
- public List<T> listPesqParam(String query, Map<String, Object> params, int maximo, int atual) {
- Query q = getEntityManager().createQuery(query).setMaxResults(maximo).setFirstResult(atual);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- return q.getResultList();
- }
- @SuppressWarnings("unchecked")
- @Override
- public List<T> listPesq(String query, int maximo, int atual) {
- Query q = getEntityManager().createQuery(query).setMaxResults(maximo).setFirstResult(atual);
- return q.getResultList();
- }
- @SuppressWarnings("unchecked")
- @Override
- public List<T> listPesqParamNativo(String query, Map<String, Object> params,
- int maximo, int atual) {
- Query q = getEntityManager().createNativeQuery(query).setMaxResults(maximo).setFirstResult(atual);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- return q.getResultList();
- }
- @SuppressWarnings("unchecked")
- @Override
- public int count(String query, Map<String, Object> params) {
- if (query.isEmpty()) {
- return 0;
- }
- Query q = getEntityManager().createQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- return Integer.parseInt(q.getSingleResult().toString());
- }
- @SuppressWarnings("unchecked")
- @Override
- public int countNativo(String query, Map<String, Object> params) {
- if (query.isEmpty()) {
- return 0;
- }
- Query q = getEntityManager().createNativeQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- return Integer.parseInt(q.getSingleResult().toString());
- // return q.getFirstResult();
- }
- @SuppressWarnings("unchecked")
- @Override
- public T pesqParam(String query, Map<String, Object> params) {
- Query q = getEntityManager().createQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- try {
- return (T) q.getSingleResult();
- } catch (NoResultException nre) {
- return null;
- }
- }
- @Override
- public T pesquisarPorId(ID id) {
- // return (T) getEntityManager().find(oClass, id);
- return (T) getEntityManager().find(getClasseDominio(), id);
- }
- @Override
- //@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
- public T salvar(T object) {
- // getEntityManager().clear();
- getEntityManager().persist(object);
- return object;
- }
- @Override
- @TransactionAttribute
- public boolean salvar(Notificacao n, Protocolo p) throws Exception {
- if (n != null && p != null) {
- getEntityManager().persist(p);
- getEntityManager().persist(n);
- return true;
- }
- throw new Exception("Não foi possível realizar o salvamento desta notificação!");
- }
- @SuppressWarnings("unchecked")
- @Override
- public List<T> todos() {
- String queryS = "FROM " + getClasseDominio().getSimpleName();
- Query query = getEntityManager().createQuery(queryS);
- return query.getResultList();
- }
- @SuppressWarnings("unchecked")
- @Override
- public List<T> todos(int ordem) {
- String queryS = "SELECT obj FROM " + getClasseDominio().getSimpleName() + " obj ORDER BY " + ordem;
- Query query = getEntityManager().createQuery(queryS);
- return query.getResultList();
- }
- @SuppressWarnings("unchecked")
- @Override
- public List<T> todos(int ordem1, int ordem2) {
- String queryS = "SELECT obj FROM " + getClasseDominio().getSimpleName() + " obj ORDER BY " + ordem1 + "," + ordem2;
- Query query = getEntityManager().createQuery(queryS);
- return query.getResultList();
- }
- @Override
- public Object pesqCampoParam(String query, Map<String, Object> params) {
- Query q = getEntityManager().createQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- try {
- return q.getSingleResult();
- } catch (NoResultException nre) {
- System.out.println(nre.getMessage());
- return null;
- }
- }
- @Override
- public Object pesqCampo(String query) {
- Query q = getEntityManager().createQuery(query);
- try {
- return q.getSingleResult();
- } catch (NoResultException nre) {
- return null;
- }
- }
- @Override
- public Object pesqUmRegistro(String query, Map<String, Object> params) {
- Query q = getEntityManager().createNativeQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- q.setMaxResults(1);
- try {
- return q.getSingleResult();
- } catch (NoResultException nre) {
- return null;
- }
- }
- @SuppressWarnings("unchecked")
- @Override
- public List<Object> listPesqCampo(String query) {
- Query q = getEntityManager().createQuery(query);
- return q.getResultList();
- }
- @SuppressWarnings("unchecked")
- @Override
- public List<Object> listPesqCampoParam(String query, Map<String, Object> params) {
- Query q = getEntityManager().createQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- return q.getResultList();
- }
- @SuppressWarnings("unchecked")
- @Override
- public List<T> pesquisaPorData(String query, Map<String, Object> params, Date dataHora) {
- Query q = getEntityManager().createQuery(query);
- if (q.getParameter("dataHora") == null) {
- return null;
- }
- q.setParameter("dataHora", dataHora, TemporalType.DATE);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- return q.getResultList();
- }
- @Override
- public int queryExecute(String query) {
- Query q = getEntityManager().createNativeQuery(query);
- return q.executeUpdate();
- }
- @Override
- public int queryExecute(String query, Map<String, Object> params) {
- if (query.isEmpty()) {
- return 0;
- }
- Query q = getEntityManager().createNativeQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- return q.executeUpdate();
- }
- @Override
- public Object query(String query) {
- try {
- Query q = getEntityManager().createNativeQuery(query);
- return q.getSingleResult();
- } catch (NoResultException nre) {
- return null;
- }
- }
- @Override
- public int exclusaoEmMassa(String query, Map<String, Object> params) {
- Query q = getEntityManager().createQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- return q.executeUpdate();
- }
- @Override
- public int retornaMaior(String query) {
- Query q = getEntityManager().createNativeQuery(query);
- if (q == null || q.getSingleResult() == null) {
- return 0;
- }
- return Integer.parseInt(q.getSingleResult().toString());
- }
- @Override
- public Object retornaMaior(String query, Map<String, Object> params) {
- Query q = getEntityManager().createNativeQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- q.setMaxResults(1);
- try {
- return q.getSingleResult();
- } catch (NoResultException nre) {
- return nre.getMessage();
- }
- }
- @Override
- public Object retornaUmRegistro(String query, Map<String, Object> params) {
- Query q = getEntityManager().createQuery(query);
- for (String chave : params.keySet()) {
- q.setParameter(chave, params.get(chave));
- }
- q.setMaxResults(1);
- try {
- return q.getSingleResult();
- } catch (NoResultException nre) {
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement