我是新的休眠用户。我正在阅读本网站提供的用户指南 http://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html#fetching 他们开始谈论静态和动态提取,而没有对单词进行介绍。什么是静态和动态获取?
答案 0 :(得分:0)
在ORM(对象关系映射)中,获取是将相关数据加载到内存中的方式...
假设您提供的链接的示例390,当您从持久层加载员工时,您有两个关于员工部门的选项:
1)要么指示ORM(休眠)在加载员工后立即加载部门信息,要么
2)指示ORM仅在需要时才加载相关部门;即当您致电employee.getDepartment().getName()
;
根据您的需求,您将选择这两个选项之一。为了告诉ORM您选择了什么选项,请使用静态获取或动态获取...
静态获取是通过注释(或XML)完成的,它被认为是静态的,因为一旦编写它,就无法在运行时对其进行更改...(请注意,像@ManyToOne
这样的关系注释会通过默认)
动态获取是通过程序配置或运行时查询完成的,可让您指示何时(如何)将相关数据加载到内存中...