随笔分类 -  jpa

摘要:双向多对多会通过一个中间表来维持关联关系; 双向多对多关系中必须指定一个关系维护端;否则中间表里会出现主键重复的问题; 可以通过@ManyToMany注释中指定mappedBy属性标识其为关系维护端; 例如:标签类Tags和商品类Goods;一个标签可对应多种商品;一个商品也能有多个标签; 首先在两 阅读全文
posted @ 2019-03-26 15:01 L丶银甲闪闪 阅读(130) 评论(0) 推荐(0)
摘要:@OneToOne注解用来一对一映射; 需要在被维护关系的一端加上属性 mappedBy 来表示放弃维护关联关系; 例如:可以建立两个类 Company、Boss; 假设一个公司只有一个老板,而一个老板只有一个公司;只是这么假设; Boss类: 维护关联关系的一端需要用@JoinColumn注解的n 阅读全文
posted @ 2019-03-26 15:00 L丶银甲闪闪 阅读(136) 评论(0) 推荐(0)
摘要:双向一对多是many-to-one的双方都有用注解来维持关联关系; many的一方: @JoinColumn(name="d_id") @ManyToOne(fetch=FetchType.LAZY) private Dept dept; @JoinColumn(name="d_id") @Many 阅读全文
posted @ 2019-03-26 14:59 L丶银甲闪闪 阅读(170) 评论(0) 推荐(0)
摘要:单向一对多是一个类中的一条记录可对应另一个类的多条记录; 比如一个部门可对应多个员工; jpa中的实现步骤: one-to-many的one类中添加一个many类类型的set;比如部门类Dept中添加一个员工类的Set<Emp>; 在set属性上方添加注解@one-to-many,表示映射one-t 阅读全文
posted @ 2019-03-22 00:23 L丶银甲闪闪 阅读(433) 评论(0) 推荐(0)
摘要:1.插入 建一个部门类Dept和一个员工类Emp; Emp对Dept是多对一的关系;因为一个部门有多个员工,而一个员工只有一个部门; Emp类中添加一个Dept的属性; @ManyToOne注解表示了员工和部门是多对一的关系; @JoinColumn注解的name属性表示外键名;Emp表中会多出一个 阅读全文
posted @ 2019-03-20 01:23 L丶银甲闪闪 阅读(105) 评论(0) 推荐(0)
摘要:EntityManager的merge()方法相当于hibernate中session的saveOrUpdate()方法; 用于实体的插入和更新操作; 1.临时状态的实体对象 创建一个新对象; 将临时对象的属性复制到新对象; 持久化新对象; 执行insert插入到数据库; 代码: //merge的第 阅读全文
posted @ 2019-03-17 22:54 L丶银甲闪闪 阅读(1247) 评论(0) 推荐(0)
摘要:1.Persistence 主要用来获取EntityManagerFactory的实例; 通过静态方法:createEntityManagerFactory 来实现; 该方法有两个重载版本; 带有一个参数:指定persistence.xml中的持久化单元名为参数; 两个参数: 除了上一个参数外,还可 阅读全文
posted @ 2019-03-17 20:50 L丶银甲闪闪 阅读(453) 评论(0) 推荐(0)
摘要:1.@Entity 位于类名前; 指出该Java类为实体类,并且将映射到指定的数据库表; 比如:Emp类前名加上该注解后,就可以和配置的数据库中的emp表相互映射了; 2.@Table 位于类名前 当实体类名和映射的表名不一致时,需要加上该注解; name属性 ->用于指定数据库的表名; catal 阅读全文
posted @ 2019-03-17 13:53 L丶银甲闪闪 阅读(298) 评论(0) 推荐(0)
摘要:1.jpa的介绍 JPA是Java Persistence API的简称, 中文名为Java持久层API; 是JDK 5.0注解或XML描述对象-关系表的映射关系, 并将运行期的实体对象持久化到数据库中。 JPA包括以下3方面的内容: 1) 一套API标准。 在javax.persistence的包 阅读全文
posted @ 2019-03-16 23:41 L丶银甲闪闪 阅读(1022) 评论(0) 推荐(0)