开发者社区> 问答> 正文

Hibernate中get()与load() 区别

Hibernate中get()与load() 区别(举例说明)

展开
收起
云栖技术 2016-06-02 15:19:54 2059 0
1 条回答
写回答
取消 提交回答
  • 社区爱好者,专为云栖社区服务!
    /* 
     * 文件名: LoadUserTest.java
     * 包路径: com.test.msw
     * 创建描述  
     *        创建人:馬素文 
     *        创建日期:2011-11-9 下午01:37:36
     *        内容描述:
     * 修改描述  
     *        修改人:馬素文 
     *        修改日期:2011-11-9 下午01:37:36 
     *        修改内容:
     * 版本: V1.0   
     */
    package cms.test.msw;
    
    import javax.annotation.Resource;
    
    import org.apache.commons.logging.LogFactory;
    import org.apache.log4j.Logger;
    import org.junit.Test;
    import com.mysql.jdbc.log.Log;
    
    
    /**
     * 类:  <code> LoadUserTest</code>
     * 功能描述: 
     * 创建人:  馬素文
     * 创建日期: 2011-11-9 下午01:37:36
     * 开发环境: JDK6.0
     */
    public class LoadUserTest extends SpringTestCase
    {
            
        /**
         * @Fields log : 输出日志信息
         */
        private Logger log = Logger.getLogger(this.getClass().getName());
        
        /*
         * 
         * 描述:此方法会抛出异常: ----could not initialize proxy - no Session
         */
        @Test
        public void  load()
        {
            log.info("load "+"一个对象!");
            User staff_db = userDao.load(User.class, "402881e9321938260132193853150011");
            System.out.println("staff_db_load:"+staff_db.getId());
        }
        
        /*
         * 
         * 描述:此方法依据标准sql方式读取对象,查询条件为: WHERE id ='?'
         */
        @Test
        public void get()
        {
            log.info("get "+"一个对象!");
            User staff_db_get = baseDao.get(User.class, "402881e9321938260132193853150011");
            System.out.println("staff_db_get:"+staff_db_get.getId());
        }
        
        /*
         *
         * 描述: 加载数据库中不存在的记录  //out: could not initialize proxy - no Session
         */
        @Test
        public void load_no()
        {
            log.info("load_no "+"一个对象!");
            User staff_db_load_no = userDao.load(Userclass, "");
            System.out.println("staff_db_load_no:"+staff_db_load_no.getId());
        }
        
        /*
         * 
         * 描述: 加载数据库中不存在的记录  ,查询条件 WHERE, 会报空指针异常+++
         */
        @Test
        public void get_no()
        {
            log.info("get_no "+"一个对象!");
            User  staff_db_get_no = baseDao.get(User .class, "1");
            System.out.println("staff_db_get_no:"+staff_db_get_no.getId());
        }
    }
    2019-07-17 19:24:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载