5.Hibernate级联操作
来源:互联网 发布:淘宝专业版模板代码 编辑:程序博客网 时间:2024/06/16 06:30
Hibernate级联操作
JPA中的级联操作一共包括
ALL,PERSIST,MERGE,REMOVE,REFRESH,DETACH
具体可以在javax.persistence.CascadeType中查看;Hibernate扩展了JPA中的级联关系,添加了
DELETE,SAVE_UPDATE,REPLICATE,LOCK
具体可以在org.hibernate.annotations.CascadeType中查看
测试用的对象
public class Order implements Serializable { private static final long serialVersionUID = 6072861571390551559L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private long id; private String orderNumber; private double price; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "customID") private Custom custom;}
public class Custom implements Serializable { private static final long serialVersionUID = -518200003900734931L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @GenericGenerator(name = "userID", strategy = "uuid", parameters = {@Parameter(name = "property", value = "user")}) private long id; private String name; private int age;}
使用了单向一对多关联
默认级联关系
默认情况下,是没有设置级联关系的
Custom custom = new Custom("custom 01", 25);Order order = new Order("order 01", 5.36);order.setCustom(custom);session.persist(order);
由于custom对象还是处于游离状态下,测试代码在运行时,会抛出异常,无法插入数据库中,添加session.persist(custom);后顺利运行
CascadeType.PERSIST
修改Order类
@ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
运行测试代码后,保存成功。
2017-01-08 19:13:25 DEBUG insert into t_custom (age, name) values (?, ?)2017-01-08 19:13:25 DEBUG insert into t_order (customID, orderNumber, price) values (?, ?, ?)
同样的,如果添加CascadeType.MERGE,CascadeType.REMOVE,CascadeType.REFRESH,CascadeType.DETACH,会在对象更新,删除,刷新时对关联对象做同样的操作
0 0
- 5.Hibernate级联操作
- HIBERNATE中级联操作
- hibernate 级联操作
- hibernate的级联操作
- Hibernate级联操作Cascade
- hibernate级联操作详解
- Hibernate 级联操作 cascade
- hibernate 之 级联操作
- Hibernate级联操作
- Hibernate级联操作 注解
- hibernate的级联操作
- hibernate的级联操作
- hibernate级联操作
- hibernate级联删除操作
- 关于 Hibernate 级联操作
- hibernate级联操作详解
- Hibernate 单项级联操作
- Hibernate cascade 级联操作
- 【DDoS】
- swift浏览器
- ubuntu16.04下mysql5.7支持utf-8编码格式配置文件修改步骤
- TCP协议详解
- 位逆序算法
- 5.Hibernate级联操作
- ionic环境搭建
- 数据库事务的隔离级别
- Java集合随笔
- 线性代数——矩阵的逆
- java 连接数据库
- spark一些总结
- python往mysql中插入datetime类型的数据
- spring mvc管理control时不能把从jsp页面收集过来的字符串类型的日期与对象中的日期对象相对应