iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Hibernate基础知识点有哪些
  • 337
分享到

Hibernate基础知识点有哪些

2023-06-17 20:06:35 337人浏览 八月长安
摘要

这篇文章主要介绍“Hibernate基础知识点有哪些”,在日常操作中,相信很多人在Hibernate基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hibernate基础知识点有哪些”的疑惑有所

这篇文章主要介绍“Hibernate基础知识点有哪些”,在日常操作中,相信很多人在Hibernate基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hibernate基础知识点有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

Hibernate基础之关联
单向关联: 单向关联没有inverse用法
◆双向关联: 使用inverse来指定.inverse=false(默认值)表示自己是关联的拥有者,Inverse=true表示另一端是关联的拥有者.

如何管理双向关联?

必须显示地管理关联的两端对一端进行了修改,两端都要重新设置,要保持同步.如何决定关联的拥有者(一般来说,拥有外键的一端就是关联的拥有者?????)
◆一对一: 任何一端都可以作为关联的拥有者.但是应该选择其中之一(而且只 能选择一个).----如果没有指定拥有者,就会导致循环依赖.
◆一对多: “多”端必须作为关联的拥有者.(一般都是多端拥有外键???)
◆多对一: “多”端必须作为关联的拥有者. (一般都是多端拥有外键???)
◆多对多: 任何一端都可以作为关联的拥有者.

Hibernate基础之saveOrupdate()使用

保存已经持久化的对象是不合适的,同样,更新瞬时对象也不合适的.如果从应用程序代码判断对象的状态是不可能的,或者不方便,那么可以使用saveOrUpdate()方法.

Hibernate基础之load()与get()

public Object load(Class theClass, Serializable id) throws HibernateException  public Object load(String entityName, Serializable id) throws HibernateException  public Object get(Class clazz , Serializable id) throws HibernateException  public Object get(String entityName, Serializable id )thtows HibernateException

Hibernate中get方法和load方法的根本区别在于:

对于get方法,Hibernate会确认一下该id对应的数据是否存在,首先在session缓存中查找,然后在二级缓存中查找,还没有就查询数据库数据库中没有就返回null。

load方法加载实体对象的时候,根据映射文件上class级别的lazy属性的配置(默认为true),分情况讨论:
◆若为true,则首先在Session缓存中查找,看看该id对应的对象是否存在,不存在则使用延迟加载,返回实体的代理类对象(该代理类为实体类的子类,由CGLIB动态生成)。等到具体使用该对象的时候, 再查询二级缓存和数据库,若仍没发现符合条件的记录,则会抛出一个ObjectNotFoundException。
◆若为false,就跟get方法查找顺序一样,只是最终若没发现符合条件的记录,则会抛出一个ObjectNotFoundException。

这里get和load有两个重要区别:
如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException。load方法可返回没有加载实体数据的代理类实例,而get方法永远返回有实体数据的对象。(对于load和get方法返回类型:好多书中都说:“get方法永远只返回实体类”,实际上并不正确,get方法如果在session缓存中找到了该id对应的对象,如果刚好该对象前面是被代理过的,如被load方法使用过,或者被其他关联对象延迟加载过,那么返回的还是原先的代理对象,而不是实体类对象,如果该代理对象还没有加载实体数据(就是id以外的其他属性数据),那么它会查询二级缓存或者数据库来加载数据,但是返回的还是代理对象,只不过已经加载了实体数据。)

Hibernate基础之刷新实体

Hibernate提供了一种用数据库表刷新(refresh)持久对象的机制.使用Session接口的refresh()方法的其中之一刷新持久对象的实例.

Public void refresh(Object object) throws HibernateException

到此,关于“Hibernate基础知识点有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Hibernate基础知识点有哪些

本文链接: https://www.lsjlt.com/news/293184.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Hibernate基础知识点有哪些
    这篇文章主要介绍“Hibernate基础知识点有哪些”,在日常操作中,相信很多人在Hibernate基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Hibernate基础知识点有哪些”的疑惑有所...
    99+
    2023-06-17
  • Hibernate基础知识有哪些
    这篇文章主要讲解了“Hibernate基础知识有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Hibernate基础知识有哪些”吧!Hibernate是JDBC的升级版,专用连接数据库。...
    99+
    2023-06-17
  • QinQ基础知识点有哪些
    本篇内容主要讲解“QinQ基础知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“QinQ基础知识点有哪些”吧!QinQ 是 802.1Q in 802.1Q 的简称,是基于 IEEE 8...
    99+
    2023-06-03
  • Mysql基础知识点有哪些
    这篇文章主要介绍Mysql基础知识点有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据库的特点?数据结构化 ,数据之间具有联系,面向整个系统;数据的共享性高,冗余度低,易扩充;...
    99+
    2022-10-18
  • Redis基础知识点有哪些
    本篇内容介绍了“Redis基础知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 什么是Red...
    99+
    2022-10-19
  • Node.js基础知识点有哪些
    这篇文章给大家分享的是有关Node.js基础知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Node.js是什么根据Node.js官方网站的描述,“Node.js是一套...
    99+
    2022-10-19
  • jQuery基础知识点有哪些
    这篇文章将为大家详细讲解有关jQuery基础知识点有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。jQuery语法实例$(this).hide()jQuery 的 h...
    99+
    2022-10-19
  • JavaScript基础知识点有哪些
    这篇文章主要介绍“JavaScript基础知识点有哪些”,在日常操作中,相信很多人在JavaScript基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java...
    99+
    2022-10-19
  • InnoDB基础知识点有哪些
    这篇文章给大家分享的是有关InnoDB基础知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、关于count(*)知识点:MyISAM会直接存储总行数,InnoDB则不...
    99+
    2022-10-19
  • Angular8基础知识点有哪些
    这篇文章给大家分享的是有关Angular8基础知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Angular CLI又称 Angular脚手架,用于快速生成项目或者组件...
    99+
    2022-10-19
  • XHTML基础知识点有哪些
    本篇内容介绍了“XHTML基础知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 一.HTML实...
    99+
    2022-10-19
  • html基础知识点有哪些
    这篇文章主要介绍了html基础知识点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。HTML语义化HTML标签的语义化是指:通过使用包含...
    99+
    2022-10-19
  • css3基础知识点有哪些
    这篇文章主要讲解了“css3基础知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css3基础知识点有哪些”吧! div > p 选择父元素...
    99+
    2022-10-19
  • CSS基础知识点有哪些
    这篇文章主要为大家展示了“CSS基础知识点有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS基础知识点有哪些”这篇文章吧。CSS3 选择器选择器可以被分...
    99+
    2022-10-19
  • Java基础知识点有哪些
    这篇文章主要介绍“Java基础知识点有哪些”,在日常操作中,相信很多人在Java基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java基础知识点有哪些”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-02
  • VBS基础知识点有哪些
    这篇文章给大家分享的是有关VBS基础知识点有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。VBScript(Microsoft Visual Basic Script Editon).,微软公司可视化BASI...
    99+
    2023-06-08
  • MongoDB基础知识点有哪些
    这篇文章主要介绍MongoDB基础知识点有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!NO.1 Linux下MongoDB的安装   Linux下MongoDB的安装还算简单,总体可以分为如...
    99+
    2023-06-14
  • Shell基础知识点有哪些
    今天小编给大家分享一下Shell基础知识点有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Shell 是一个 C 语言编...
    99+
    2023-06-27
  • JSON基础知识点有哪些
    这篇文章主要讲解了“JSON基础知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JSON基础知识点有哪些”吧!JSON是JavaScript Object Notation的简称,...
    99+
    2023-06-27
  • iptables基础知识点有哪些
    这篇文章主要介绍了iptables基础知识点有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇iptables基础知识点有哪些文章都会有所收获,下面我们一起来看看吧。iptables可以适用于所有的Linux...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作