使用enum 存储Permission的值 package demo; public enum Permission {    CREATE,DELETE,UPDATE;} Role与Permission是多对多的关系: package demo;import java.util.Set;public class Role {    private Integer id;    public Integer getId() {        return id;    }    public v…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
前言 前面的我们使用的是一个表的操作,但我们实际的开发中不可能只使用一个表的-因此,本博文主要讲解关联映射 集合映射 需求分析:当用户购买商品,用户可能有多个地址. 数据库表 我们一般如下图一样设计数据库表,一般我们不会在User表设计多个列来保存地址的.因为每个用户的地址个数都不一的,会造成数据冗余 创建两张数据表,一张保存着用户的信息,一张保存着地址的信息.地址表使用外键来引用用户表 实体 由于地址只是使用String类型来保存着,那么我们直接使用一个User对象就可以了 public cl…
上篇文章具体讨论了组合对象映射的原理.它事实上指的是怎样将对象模型中的组合关系映射到关系模型中,它是通过使用Hibernate提供的<component>标签来实现的,并须要在该标签中加入相应组合对象的属性,有关组合对象的映射请查看笔者的上篇文章.该篇文章来具体讨论下集合的映射关系.Java的集合有四种各自是Set.Map.List和普通集合,在开发时往往须要将这些集合转化为相应的关系模型,这样的集合映射的实现过程就是我们今天要讨论的话题. 一.集合映射 1.1 集合小介 集合映射也是主要的映…
继承关系映射到数据库表中有多种方式: 第一种:TPH(table-per-hiaerachy) 每一层次一张表 (只有一张表) 仅使用名为父类的类型名的一张表,它包含了各个子类的所有属性信息,使用区分列(Disciriminator column)(通常内容为子类的类型名)来区分哪一行表示什么类型的数据. 第二种:TPT(Table-per-type) 每种类型都有一张表(父类及每个子类都有表) 父类.各子类各自都有一张表.父类的表中只有共同的数据,子类表中有子类特定的属性.TPT很像类的继承结…
把这两种映射放到一起说,是因为这两种映射不像前面的复用型映射.数量和方向型映射那么分类鲜明,所以放到了这个“其他”里面. 复合主键映射 在关系模型中,复合主键和其他的主键方式没有很大区别,但是反映到对象模型的配置上面,差别就比较大了:在对象模型中,复合主键需要一个独立的类,以下面把年和月作为复合主键为例: 复合主键类 import java.io.Serializable; public class FiscalYearPeriodPK implements Serializable { //核…
九.       集合映射 1. Set 2. List a)        @OrderBy 注意:List与Set注解是一样的,就是把Set更改为List就可以了 private List<User>users = new ArrayList<User>(); @OneToMany(mappedBy="group", cascade={CascadeType.ALL} ) @OrderBy("name ASC")//使用@OrderBy注…
POJOs如下: Customer类------>customer表   Order类对应---------->orders表  customer(1)<--------------->(n)order public class Customer { private String id; private String username; private String password; private Timestamp registerTime; private int age;…
hibernate集合映射inverse和cascade详解   1.到底在哪用cascade="..."? cascade属性并不是多对多关系一定要用的,有了它只是让我们在插入或删除对像时更方便一些,只要在cascade的源头上插入或是删除,所有cascade的关系就会被自己动的插入或是删除.便是为了能正确的cascade,unsaved-value是个很重要的属性.Hibernate通过这个属性来判断一个对象应该save还是update,如果这个对象的id是unsaved-valu…
1 . 集合映射 需求:购物商城,用户有多个地址. // javabean设计 // javabean设计 public class User { private int userId; private String userName; // 一个用户,对应的多个地址 private Set<String> address; private List<String> addressList = new ArrayList<String>(); //private Str…