⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hibernatequerymanager.java

📁 开源项目simpleoa-0.3.zip是最新版本
💻 JAVA
字号:
package com.ejsun.entapps.core.persistence.impl;

import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;

import com.ejsun.entapps.core.persistence.QueryManager;

/**
 * @author	Quake Wang
 * @create	2004-3-7
 * @version $Revision: 1.2 $
 */
public class HibernateQueryManager extends HibernateDaoSupport implements QueryManager{
	private static final Log log = LogFactory.getLog(HibernateQueryManager.class);
	
	public Object loadById(Class entity, long id) {
		return getHibernateTemplate().get(entity, new Long(id));
	}

	public Object loadByName(Class namedEntity, String name) {
		List result = getHibernateTemplate().find("from " + namedEntity.getName() + " where name = ? ", name);
		if(result != null && result.size() > 0){
			if(result.size() == 1) {
				return result.get(0);
			}else {
				log.error("more than one object using the name: " + name + " with namedEntity: " + namedEntity.getName());
				//TODO throw exception or return null?
			}			
		}
		return null;
	}
		
	public Object loadByNamedQuery(String query, Object obj) {
		List result = findByNamedQuery(query, obj);
		if(result != null && result.size() > 0){
			if(result.size() == 1) {
				return result.get(0);
			}else {
				log.error("got more than one object using the query: " + query + " with parameter: " + obj);
				//TODO throw exception or return null?
			}			
		}
		return null;
	}
	
	public List findAll(Class entity) {
		return getHibernateTemplate().find("from " + entity.getName());		
	}

    public List findByNamedQuery(String namedQuery) {
        return getHibernateTemplate().findByNamedQuery(namedQuery);
    }
    
    public List findByNamedQuery(String query, Object parameter) {
    	return getHibernateTemplate().findByNamedQuery(query, parameter);
    }

    public List findByNamedQuery(String query, Object[] parameters) {
		return getHibernateTemplate().findByNamedQuery(query, parameters);
    }
    
    public List find(String query) {
    	return getHibernateTemplate().find(query);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -