
hibernate学习总结
文章平均质量分 85
澜色海湾
这个作者很懒,什么都没留下…
展开
-
6.0、Hibernate-HQL
HQL 全称(Hibernate Query Language),是 Hibernate 框架提供的一种查询机制,他和 SQL 类似,不同的是 HQL 是面向对象的查询语句,让开发者能够以面向对象的思想来编写查询语句,对 Java 编程是一种友好的方式;HQL 不能直接参与数据库的交互,中间层语言 -> Java ---> HQL ---> Hibernate ---> SQL ---> DB;HQL 进行查询,from 关键字后面不能写表名,必须写对应的实体类名;查询名称包含 " 澜 " 的所有记录;原创 2022-12-28 12:31:02 · 945 阅读 · 0 评论 -
5.0、Hibernate-配置文件详解 1
【当我们没有开启动态更新的时候,假设我们表中有两个字段 name 和 sex,有一条数据 name = "小澜",sex = "男" ,当我们只修改 sex = "女" 字段的时候,由于我们没有开启动态更新,会导致 hibernate 执行的 sql 的语句中出现 name = "小澜",sex = "女",就是两个字段都会去修改一遍,这样做显然效率会降低;指定我们是否可以在查询语句中使用非全限定类名,默认为 true ,如果项目中有两个同名的持久化类,最好在这两个类的对应映射文件中配置为 false;原创 2022-12-25 16:12:36 · 1057 阅读 · 1 评论 -
4.0、Hibernate-延迟加载 2
然后去运行 Test6.java 不管我们有没有级联操作都是执行两条 SQL 语句,而之前开启 延迟加载 之后会发现,当不涉及级联操作的时候就是一条 SQL 语句,涉及级联操作的时候才会变成两条 SQL 语句;这里和 一对多 的区别就是,当涉及级联操作的时候,一对多只需要查询两张表即可,而多对多关系中,需要三张表才能将他们两个关联起来,所以当多对多涉及级联操作的时候会执行三条 SQL 语句;多对多关系 课程与学生 -> 查询 课程 Course ,加载对应的 学生 Account ,默认延迟加载开启;原创 2022-12-22 15:15:57 · 377 阅读 · 0 评论 -
3.0、Hibernate-延迟加载 1
使用延迟加载可以提高程序运行效率,Java 程序 与 数据库交互的频次越低,程序运行的效率就越高,所以我们应该尽量减少 Java 程序 与 数据库的交互次数,Hibernate 延迟加载 就很好的做好了这一点;客户 和 订单,当我们查询客户对象时,因为有级联设置,所以会将对应的订单信息一并查询出来,这样就需要发送两条 SQL 语句,分别查询 客户信息 和 订单信息。当我们查询客户的时候,如果没有访问订单数据,就只发送一条 SQL 语句来查询客户信息,如果需要访问订单数据的时候,则发送两条 SQL;原创 2022-12-21 12:57:49 · 501 阅读 · 0 评论 -
2.0、Hibernate-级联关系
数据库中创建两张表 customer 和 orders,如下所示 ->在 com.hkl.pojo 文件夹下创建两个 pojo 实体类 Java 文件,customer.java 和 order.java,如下所示->@Data// 一个消费者对应多个订单}@Data//一个订单对应一个消费者}在 com.hkl.pojo 文件夹下创建两个xml配置文件,Customer.hbm.xml 和 Order.hbm.xml,如下所示->原创 2022-12-20 15:19:36 · 431 阅读 · 0 评论 -
1.0、Hibernate-快速入门初体验
可以看到没有报错,假设我们的 hibernate 配置文件名不叫 hibernate.cfg.xml 的话那么会报错说找不到 hibernate.cfg.xml 这个文件;打开 IDEA 创建一个 maven 项目,连接好 mysql 数据库,创建数据库 hibernate ,创建好一张表 people。将 实体类 和 数据库表 关系映射关联起来,在 com.hkl.pojo 文件夹下创建一个 People.hbm.xml 文件 ->在 test 文件夹下创建一个 Test.java 文件,原创 2022-12-18 17:38:00 · 407 阅读 · 0 评论