Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.beetlehand.model.dao;
- import org.springframework.transaction.annotation.Transactional;
- import javax.persistence.EntityManager;
- import javax.persistence.Persistence;
- import javax.persistence.Query;
- import java.util.List;
- import java.util.Map;
- public abstract class AbstractDao<T, S> implements AbstractDaoInterface<T, S> {
- protected EntityManager entityManager;
- public EntityManager getEntityManager() {
- if(this.entityManager == null) {
- this.entityManager = Persistence
- .createEntityManagerFactory("NewPersistenceUnit")
- .createEntityManager();
- }
- return this.entityManager;
- }
- // execute native sql or stored procedure queries
- public void exeucte(String sqlQuery, Map<String, Object> params) {
- Query jpaQuery = getEntityManager().createNativeQuery(sqlQuery);
- if(params != null)
- for (String key : params.keySet()) {
- jpaQuery.setParameter(key, params.get(key));
- }
- jpaQuery.executeUpdate();
- getEntityManager().getTransaction().commit();
- }
- // execute native sql or stored procedure queries
- public List<Object> getRow(String sqlQuery, Map<String, Object> params) {
- Query jpaQuery = getEntityManager().createNativeQuery(sqlQuery);
- if(params != null)
- for (String key : params.keySet()) {
- jpaQuery.setParameter(key, params.get(key));
- }
- return jpaQuery.getResultList();
- }
- // execute native sql or stored procedure queries
- public Object getOne(String sqlQuery, Map<String, Object> params) {
- Query jpaQuery = getEntityManager().createNativeQuery(sqlQuery);
- if(params != null)
- for (String key : params.keySet()) {
- jpaQuery.setParameter(key, params.get(key));
- }
- return jpaQuery.getSingleResult();
- }
- @Transactional
- public void saveRow(T entity) {
- getEntityManager().persist(entity);
- }
- @Transactional
- public void deleteRow(T entity) {
- if(getEntityManager().contains(entity)) {
- getEntityManager().remove(entity);
- }
- }
- @Transactional
- public void flush() {
- getEntityManager().flush();
- }
- @Transactional
- public void clear() {
- getEntityManager().clear();
- }
- @Transactional
- public T merge(T entity) {
- T merged = getEntityManager().merge(entity);
- getEntityManager().flush();
- return merged;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement