在休眠模式下,get()
andload()
是两种用于获取给定标识符的数据的方法。它们都属于Hibernate会话类。Get()
如果给定标识符的会话高速html" target="_blank">缓存或数据库中没有可用的行,则方法返回null,而load()
方法抛出未找到对象的异常。
序号 |
键 |
得到() |
加载() |
---|---|---|---|
1 |
基本的 |
它用于从数据库中获取给定标识符的数据 |
它还用于从数据库中获取给定标识符的数据 |
2 |
空对象 |
找不到给定标识符的对象,则它将返回null对象 |
它将抛出未找到对象的异常 |
3 |
延迟加载 |
它返回完全初始化的对象,因此该方法渴望加载对象 |
它总是返回代理对象,因此此方法是延迟加载对象 |
4 |
性能 |
比它慢, |
它稍微快一点。 |
5, |
用例 |
如果不确定对象是否存在,请使用 |
如果您确定对象存在,则使用 |
Get()
Hibernate中的示例@Entity public class User { @Id Integer id; String name; 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; } } import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import com.journaldev.hibernate.util.HibernateUtil; public class GetExample { public static void main(String[] args) { //获取会话工厂以开始事务 SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); //获取示例 User user = (User) session.get(User.class, new Integer(2)); System.out.println("User ID= "+user.getId()); System.out.println("User Name= "+user.getName()); //关闭资源 tx.commit(); sessionFactory.close(); } }
Load()
Hibernate中的示例@Entity public class User { @Id Integer id; String name; 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; } } import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import com.journaldev.hibernate.util.HibernateUtil; public class LoadExample { public static void main(String[] args) { //获取会话工厂以开始事务 SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); //加载示例 User user = (User) session.load(User.class, new Integer(2)); System.out.println("User ID= "+user.getId()); System.out.println("User Name= "+user.getName()); //关闭资源 tx.commit(); sessionFactory.close(); } }
问题内容: 和和有什么区别? 在哪个条件下使用哪个更好? 问题答案: 是最可配置的,您可以在其中对HTTP标头等进行精细控制。您还可以使用此方法直接访问XHR对象。还提供了更细粒度的错误处理。因此可能会更复杂并且通常没有必要,但有时非常有用。您必须自己通过回调处理返回的数据。 只是它的简写,但抽象了一些配置,为隐藏的内容设置了合理的默认值。将数据返回给回调。它仅允许GET请求,因此附有类似抽象的功
本文向大家介绍get()和 load()的区别?相关面试题,主要包含被问及get()和 load()的区别?时的应答技巧和注意事项,需要的朋友参考一下 数据查询时,没有 OID 指定的对象,get() 返回 null;load() 返回一个代理对象。 load()支持延迟加载;get() 不支持延迟加载。
问题内容: 和事件有什么区别? 问题答案: 从Mozilla开发人员中心: 当文档已完全加载和解析时,将触发DOMContentLoaded事件,而无需等待样式表,图像和子帧完成加载(可以使用load事件来检测完全加载的页面)。
问题内容: 这两个电话真的有区别吗?如果使用getJSON,则仍然必须在url中声明… 您可以在中执行相同的操作,并遍历JSON对象。 还是我要离开这里? 问题答案: 以下两个片段是等效的: 说一个请求是针对两件事: jQuery发送标头 jQuery解释入站响应,将其转换为JavaScript对象,然后将其传递给回调(因此您不必弄乱eval或其他转换机制)。 许多服务器端框架(例如Rails)会
问题内容: 但没人回答我的下一个问题。经典的hibernate方法使用和JPA 实现之间有什么区别?我听说此JPA实现使用并像包装器一样工作,这是真的吗? 问题答案: 确实。 JPA只是一个API,允许您从使用的持久层中进行抽象。Hibernate提供了充当接口的实现,它使用与Hibernate 相同的基础方法。 这个想法是,例如,您可以将实现切换到Eclipse Link,而不必更改任何源代码。
本文向大家介绍JDBC和Hibernate之间的区别,包括了JDBC和Hibernate之间的区别的使用技巧和注意事项,需要的朋友参考一下 JDBC是Java数据库连接的首字母缩写。它用于将您的应用程序连接到数据库和事务。它是一个开源Java api。 Hibernate还用于将您的应用程序连接到数据库并执行与数据库相关的事务,但是使用不同的方法。它有一个对象关系库,该库将java的对象映射到