A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

JPA

© SOAR 中级黑马   /  2013-5-15 09:16  /  1066 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 SOAR 于 2013-5-15 09:21 编辑

我要映射这样一个实体。
public class Person {
        private int id;
        private String name;
        private String resume;//简历
        private byte[] photo;
        @Id
        @GeneratedValue
        public int getId() {
                return id;
        }
        public void setId(int id) {
                this.id = id;
        }
  @Column(length=10,nullable=false)
  public String getName() {
  return name;
  }
  public void setName(String name) {
  this.name = name;
  }
         @Lob
        @Basic(fetch=FetchType.LAZY)
        public void getResume(String resume) {
                this.resume = resume;
        }
                public void setResume(String resume) {
                this.resume = resume;
        }
        @Lob
        @Basic(fetch=FetchType.LAZY)
        public byte[] getPhoto() {
                return photo;
        }
        public void setPhoto(byte[] photo) {
                this.photo = photo;
        }
}

然后写了一个测试方法
             public void testAdd(){
              EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa");
            EntityManager em = emf.createEntityManager();
            em.getTransaction().begin();
            Person p = em.find(Person.class, 1);
            em.getTransaction().commit();
            em.close();
             emf.close();
                   }

我把person中的resume和photo的加载方式都设的是lazy,为什么后台log4j打印出的信息是
:DEBUG SQL:104 - select person0_.id as id1_0_0_, person0_.name as name1_0_0_, person0_.photo as photo1_0_0_, person0_.resume as resume1_0_0_, from Person person0_ where person0_.id=?
按理说现在它不该查询resume和photo啊?
         

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马