本文共 1300 字,大约阅读时间需要 4 分钟。
1. 数据获取的概念
数据的获取是指从数据库中加载数据,并标记数据对应用可用的过程。
数据的获取的策略影响了应用的性能。
2. 数据获取类型
Hibernate通过org.hibernate.jpamodelgen.xml.jaxb.FetchType枚举类型定义数据获取的类型如下:
3. 数据获取策略
1) static的数据获取策略,在Entity类中定义映射关系时确定
4.示例
在JPA规范中,所有的一对一关联和多对一关联,被关联的数据默认都采用EAGER策略,这也是Hibernate默认支持的策略。
除此之外,Hibernate建议在配置Entity类中定义映射关系时(即static的数据获取策略)采用LAZY策略,而在应用运行时(即dynamic的数据获取策略)根据情况灵活设置EAGER策略。
Entity类中定义映射关系时(即static的数据获取策略)示例如下:
@Entity(name = "Employee")public static class Employee { @Id private Long id; @NaturalId private String username; @Column(name = "pswd") @ColumnTransformer( read = "decrypt( 'AES', '00', pswd )", write = "encrypt('AES', '00', ?)" ) private String password; private int accessLevel; @ManyToOne(fetch = FetchType.LAZY) private Department department; @ManyToMany(mappedBy = "employees") private Listprojects = new ArrayList<>(); //Getters and setters omitted for brevity}
转载地址:http://gilai.baihongyu.com/