intro字段配置成@Basic(fetch=FetchType.LAZY)
但是无论用get还是load方法,intro和其他字段都是一样加载的,和其他字段没有区别啊?配了和没配是一样的?
有没有人和我一样的问题啊,我用的是hibernate3.3
import java.util.Date; import javax.persistence.Basic; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; import org.hibernate.Session; import org.hibernate.Transaction; import com.test.HibernateSessionFactory; @Entity //@Table(name="t_student",uniqueConstraints=@UniqueConstraint(columnNames={"name","sex"})) @Table(name="t_student") public class Student{ @Id @GeneratedValue private Integer id; private String name; private Date birthday; private Boolean sex; private Integer age; private Double grade; @Basic(fetch=FetchType.LAZY) private String intro; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public Boolean getSex() { return sex; } public void setSex(Boolean sex) { this.sex = sex; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Double getGrade() { return grade; } public void setGrade(Double grade) { this.grade = grade; } public String getIntro() { return intro; } public void setIntro(String intro) { this.intro = intro; } public static void main(String[] args) { Session session = HibernateSessionFactory.getSession(); Transaction transaction = session.beginTransaction(); transaction.begin(); try{ // School school = new School(); // school.setName("清华大学"); // // school.setIntro("bca"); // Student t = new Student(); // t.setName("武林"); // t.setAge(100); // t.setBirthday(new Date()); // t.setSex(true); // t.setIntro("xx"); // t.setGrade(59.99d); // t.setSchool(school); // session.save(t); Student t = (Student)session.load(Student.class, 1); String name = t.getName(); String intro = t.getIntro(); transaction.commit(); }catch(Exception e){ e.printStackTrace(); transaction.rollback(); }finally{ session.close(); } } }