hibernate
qq_489366879
这个作者很懒,什么都没留下…
展开
-
hibernate - join fetch
join fetch 其实是相当于 数据库 里面的连接部分。默认是inner join 。也支持left outer join。 join fetch 主要是运用于 HQL 中。 主要体现在一对多、多对多的关系表中 例如: class Student{ private int id; private int name; private Team team; get{…} ...转载 2018-11-10 22:05:36 · 572 阅读 · 0 评论 -
hibernate 注解
本篇将向大家介绍表关联的注解方式。 1. 一对一(One-to-one) 使用@OneToOne注解可以建立实体bean之间的一对一的关联.一对一关联有三种情况:一是关联的实体都共享同样的主键,二是其中一个实体通过外键关联到另一个实体的主键(注意要模拟一对一关联必须在外键列上添加唯一约束).三是通过关联表来保存两个实体之间的连接关系(注意要模拟一对一关联必须在每一个外键上添加唯一约束). 首...转载 2018-11-10 23:33:08 · 101 阅读 · 0 评论 -
Hibernate - CascadeType用法汇总
cascade(级联) 级联在编写触发器时经常用到,触发器的作用是当 主控表信息改变时,用来保证其关联表中数据同步更新。若对触发器来修改或删除关联表相记录,必须要删除对应的关联表信息,否则,会存有脏数据。所以,适当的做法是,删除主表的同时,关联表的信息也要同时删除,在hibernate中,只需设置cascade属性值即可。 CascadeType.PERSIST:级联新增(又称级联保存):对or...转载 2018-11-10 23:45:47 · 284 阅读 · 0 评论 -
hibernate - mappedby的理解
mappedBy的意思就是“被映射”,即mappedBy这方不用管关联关系,关联关系交给另一方处理 1.规律:凡是双向关联,mapped必设,因为根本都没必要在2个表中都存在一个外键关联,在数据库中只要定义一边就可以了 a) 只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性; b) mappedBy标签一定是定义在the...转载 2018-11-10 23:55:43 · 151 阅读 · 0 评论 -
Hibernate - @Transient 实现临时字段映射
@Transient还可以在持久化类中直接获取关联表中的字段值 @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性 如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic 比如下面代码,由整型字段state生成字符串型containerState临时字段。 import javax.persi...转载 2018-11-11 00:11:02 · 804 阅读 · 0 评论 -
Hibernate 注解
3、常用注解的使用方法 3.1 类级别的注解 @Entity 映射实体类 @Table 映射数句库表 @Entity(name = "tableName") - 必须,注解将一个类声明为一个实体bean,即指出该Java 类为实体类,将映射到指定的数据库表 属性: name - 可选,对应数据库中的一个表。若表名与实体类名相同,则可以省略 @Table(name = "...转载 2018-11-05 16:15:09 · 94 阅读 · 0 评论 -
hibernate - openSession() 跟 getCurrentSession() 方法之间的区别
getHiberanteTemplate 、getCurrentSession和OpenSession 采用getCurrentSession()创建的Session会绑定到当前的线程中去、而采用OpenSession()则不会。 采用getCurrentSession()创建的Session在commit或rollback后会自动关闭,采用OpenSession()必须手动关闭。 采用ge...转载 2018-11-11 15:59:04 · 139 阅读 · 0 评论