首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Hibernate学习笔记2

Hibernate关联映射-一对多 5.1. 实体类创建 5.2. Hbm映射文件编写 5.3. 测试保存 5.4. 测试单向关联保存 5.5. 双向关联维护 5.6. 对象导航 5.7....Hibernate持久化类与主键生成策略 定义hbm.xml映射文件和pojo类时都需要定义主键,Hibernate中定义的主键类型包括:自然主键和代理主键: 自然主键:具有业务含义字段 作为主键,比如...它使用完成后,会被jvm直接回收掉,它只是用于信息携带。 简单说:无OID 与数据库中的信息无关联,不在session管理范围内。...Hibernate关联映射-一对多 我们以客户(Customer)与订单(Order)为例 5.1. 实体类创建 订单 ? 客户 ? 5.2. Hbm映射文件编写 Order.hbm.xml ?...我们可以使用级联操作来解决上述的问题. 我们现在要做的是保存订单时保存客户,需要在订单的hbm配置文件中修改 ? 设置cascade=save-update 那么在保存订单时就可以自动将客户保存。

1.4K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【框架】构架知识点详解入门与测试实例

    利用Hibernate操作数据库,我们通过应用程序经过Hibernate持久层来访问数据库,其实Hibernate完成了以前JDBC的功能,不过Hibernate使用面向对象的方法操作数据库。...--表明解析本XML文件的DTD文档位置,DTD是Document Type Definition 的缩写,即文档类型的定义, XML解析器使用DTD文档来检查XML文件的合法性。...hibernate.sourceforge.net/hibernate-configuration-3.0dtd可以在Hibernate3.1.3软件包中的 src\org\hibernate目录中找到此文件...--jdbc.fetch_size是指Hibernate每次从数据库中取出并放到JDBC的Statement中的记录条数。...--hibernate.dialect 只是Hibernate使用的数据库方言,就是要用Hibernate连接那种类型的数据库服务器。--> <!

    43820

    Spring Data开发手册|Java持久化API(JPA)需要了解到什么程度呢?

    等ORM框架,相反,采用JPA开发时,我们仍将使用这些ORM框架,只是此时开发出来的应用不在依赖于某个持久化提供商。...使用JPA,就可以把我们的应用从Hibernate中解脱出来,那么现在问题来了::如何使用JPA来开发呢? 准备好了吗,进入正题,起飞! 首先,先带大家看一下本篇文章的大致介绍。...还不进入正文,来了,安排上,一个一个来: 回顾以前的开发模式 以前开发的时候我们的DAO层,要么使用Hibernate、要么使用iBatis、dbutils、toplink ?...这种方案就是如果我们需要换ORM框架,我们的整个DAO层都不需要改变只是需要改变配置文件就可以了呢?...EnumType.STRING:表示的是以字符串的形式显示 EnumType.ORDINAL:表示枚举在数据中以下标的形式显示 @Lob:修饰String类型的时候 表示的大文本 修饰byte

    1.3K30

    第16章 Spring Boot + Kotlin: 下一代 Java 服务端开发

    当然,为了节省空间,一般情况下使用utf8也就够了。 二、内容描述 那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢?...也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。...Mysql 中的 utf8 为什么只支持持最长三个字节的 UTF-8字符呢?我想了一下,可能是因为 Mysql 刚开始开发那会,Unicode 还没有辅助平面这一说呢。...Mysql 中的字符串长度算的是字符数而非字节数,对于 CHAR 数据类型来说,需要为字符串保留足够的长。...对于 CHAR 类型数据,utf8mb4 会多消耗一些空间,根据 Mysql 官方建议,使用 VARCHAR 替代 CHAR。 16.4 本章小结

    1.2K10

    Hibernate之集合映射的使用(Set集合映射,list集合映射,Map集合映射)

    a:数据库的相关知识:   (1):一个表能否有多个主键:不能;   (2):为什么要设置主键:数据库存储的数据都是有效的,必须保持唯一性;   (3)为什么id作为主键:因为表中通常找不到合适的列作为唯一列...,我们只能先引入别人的包咯,千万别忘记了哦 2:第二步,就是配置hibernate.cfg.xml了,这里的配置之前已经说过了,分三大部分   第一部分,数据库连接配置。   ...这里使用了自动创建数据表, hibernate.hbm2ddl.auto">update     下面的源码详细介绍了几种方法的区别,如何找到hibernate.hbm2ddl.auto...28 29 4:生成环境时候执行验证,当映射文件的内容与数据库表结构不一样的时候就报错 30 #hibernate.hbm2ddl.auto...) 32 //.addClass(User.class),测试的时候可以使用这个代替加载映射文件hbm.xml

    2.8K100

    Java Web之理解 Hibernate And MyBatis

    在JavaWeb开发中,最经典的就是SSH框架组合和SSM框架组合,现在很多IT公司愿意使用SSM,对于这里的H和M即Hibernate和MyBatis,今天简单来说道说道。...知识讲解 Hibernate和MyBatis都是很流行的ORM(对象关系映射,说白了就是一种和数据库进行映射的技术)持久化层框架,其实质是还是对JDBC进行了封装,方便我们使用,简化我们的开发。...Hibernate 在Hibernate中这个机制就是一个配置文件hibernate.cfg.xml(放在src目录下) hibernate-configuration> <session-factory...** 1、XML方式(类名.hbm.xml) 通过hbm文件建立表和类的映射关系 2、 Annotation方式 后来有了逆向工程,就简单多了,直接通过数据库表生成对应的文件即可。...--扫描类型别名的包 也可以单独扫描某个文件--> <environment

    76140

    连Hibernate技术都不清楚,你敢说你自己会ORM框架?

    Hibernate是什么 Hibernate是一个非侵入式ORMapping框架 ❝非侵入式框架:我们在使用这个框架的时候,不需要继承或者实现这个框架中的类或者接口,这种类型的框架就叫做非侵入式的框架,...非侵入式的框架在使用的时候更好的和原有的框架实现了解耦 侵入式框架:我们在使用这个框架的时候,需要继承或者实现这个框架中的某些类或者接口,这种框架叫做侵入式框架 ❞ ORMapping解析 ❝O:Object...Hibernate的简单使用 「简单使用:」 导包,将下载下来的required+jpa相关的包放到一个文件里面 在src下面创建hibernate.cfg.xml配置文件 Hibernate的xxx.hbm.xml配置文件的详解 hibernate.cfg.xml配置文件中这个括hibernate.是可以省略 为什么不开启事务也能查询到数据?

    52820

    Hibernate 中集合对象的抓取策略(Fetching strategies)

    > Category.hbm.xml 代码: <?...java SE应用程序设计 这里我们看到 的是,我们在读取一个集合对象的 时候,hibernate用了一条selelct语句; 1、查询抓取(Select fetching) 修改:Category.hbm.xml...java SE应用程序设计 这种方法是查询抓取,他是hibernate默认值,所以我们会看到和上面的运行效果一摸一样。...尽管你我们在配置文件中设置了fetch=“select”,就是说hibernate要用两个selelct语句 去执行这样的行为,但是,我们在hql语句中设置了急迫内连接查询,这样hibernate就必须只用一条..., description:Hibernate好啊 java WEB开发与实战 我们看到,下面的selelct语句中又嵌套了一个select语句 3、连接抓取(Join fetching) Category.hbm.xml

    40110

    Hibernate 注解配置

    核心技能部分​ 1.1 创建SessionFactory 基于xml配置的配置信息位于实体类映射文件中,如Category.hbm.xml;基于注解配置配置信息位于类源代码中,如Category.class.../entity/Category.hbm.xml" /> …… hibernate-configuration> 使用,作用和xml映射文件中标签的inverse属性作用相同,在一的一端中设置mappedBy,说明多端反向控制一端。...莲蓬鬼话 奇幻文学 示例3.11 在配置一对多关系时并没有使用targetEntity属性来指定关联实体的类型,那么Hibernate怎么知道关联关系实体类型是Board呢?...因为我们在声明getBoards()方法的返回的类型时为Set指定了泛型信息,即Set。Hibernate通过反射获取返回类型的泛型信息便知关联关系类型了。

    8510
    领券