码迷,mamicode.com
首页 > 其他好文 > 详细

持久层抽取之类名的获取

时间:2019-04-05 20:09:26      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:imp   list   []   alt   org   ble   ack   hibernate   获取   

package com.hdh.bos.dao.base.impl;

import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.List;

import org.hibernate.Hibernate;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;

import com.hdh.bos.dao.base.BaseDao;

public class BaseDaoImpl<T> extends HibernateDaoSupport implements BaseDao<T> {

    private Class<T> entityClass;
    

    public BaseDaoImpl(Class<T> entityClass) {
        //获取BaseDaoImpl<T> 的T类型
        ParameterizedType Superclass = (ParameterizedType) this.getClass().getGenericSuperclass();
        Type[] actualTypeArguments = Superclass.getActualTypeArguments();
        entityClass=(Class<T>) actualTypeArguments[0];
        
    }

    @Override
    public void save(T entity) {
        getHibernateTemplate().save(entity);
    }

    @Override
    public void delete(T entity) {
        getHibernateTemplate().delete(entity);

    }

    @Override
    public void update(T entity) {
        getHibernateTemplate().update(entity);

    }

    @Override
    public T fingById(Serializable id) {

        return getHibernateTemplate().get(entityClass, id);
    }

    @Override
    public List<T> findAll() {
        String hql = "FROM " + entityClass.getName();
        return (List<T>) getHibernateTemplate().find(hql);
    }

}

 

持久层抽取之类名的获取

标签:imp   list   []   alt   org   ble   ack   hibernate   获取   

原文地址:https://www.cnblogs.com/asndxj/p/10659415.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!