newsdaohibernate.java

来自「STRUTS数据库项目开发宝典」· Java 代码 · 共 64 行

JAVA
64
字号
package com.relationinfo.dao.hibernate;import java.util.List;import com.relationinfo.model.News;import com.relationinfo.dao.NewsDAO;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.criterion.Example;import org.hibernate.criterion.MatchMode;import org.springframework.orm.ObjectRetrievalFailureException;import org.springframework.orm.hibernate3.HibernateCallback;public class NewsDAOHibernate extends BaseDAOHibernate implements NewsDAO {    /**     * @see com.relationinfo.dao.NewsDAO#getNewss(com.relationinfo.model.News)     */    public List getNewss(final News news) {        if (news == null) {            return getHibernateTemplate().find("from News");        } else {            // filter on properties set in the news            HibernateCallback callback = new HibernateCallback() {                public Object doInHibernate(Session session) throws HibernateException {                    Example ex = Example.create(news).ignoreCase().enableLike(MatchMode.ANYWHERE);                    return session.createCriteria(News.class).add(ex).list();                }            };            return (List) getHibernateTemplate().execute(callback);        }    }    /**     * @see com.relationinfo.dao.NewsDAO#getNews(String newscode)     */    public News getNews(final String newscode) {        News news = (News) getHibernateTemplate().get(News.class, newscode);        if (news == null) {            log.warn("uh oh, news with newscode '" + newscode + "' not found...");            throw new ObjectRetrievalFailureException(News.class, newscode);        }        return news;    }    /**     * @see com.relationinfo.dao.NewsDAO#saveNews(News news)     */        public void saveNews(final News news) {        getHibernateTemplate().saveOrUpdate(news);    }    /**     * @see com.relationinfo.dao.NewsDAO#removeNews(String newscode)     */    public void removeNews(final String newscode) {        getHibernateTemplate().delete(getNews(newscode));    }}

⌨️ 快捷键说明

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