知识大全 JPA和hibernate对删除操作的不同[1]

Posted

篇首语:人争气,火争焰,佛争一炷香。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 JPA和hibernate对删除操作的不同[1]相关的知识,希望对你有一定的参考价值。

JPA和hibernate对删除操作的不同[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在hibernate里面调用session的delete方法以后 无论这个被删除的对象有没有被人外键引用到 都可以被删除 并且此时的外键设为null 也就是说他会自动帮我们去查看他被谁引用到了 然后把引用全部去掉后 再把自己删掉 而在JPA里面 如果调用EntityManager remove方法时 传进去的对象 有被外键引用到 则会失败 因为JPA里面的实现就是直接执行delete语句 也不管他有没有被外键引用 此时 当然会出错了

  测试时候使用的两个类分别如下

  举的例子是部门和员工的关系 一个部门可以有多个员工 然后把部门删掉的时候 员工的部门属性就为null了 不过 按照严谨来说 还是JPA的严谨一些 这样可以防止误操作 呵呵

  部门的实体对象

/* * To change this template choose Tools | Templates * and open the template in the editor  */package hadeslee jpaentity;

import java io Serializable;import java util HashSet;import java util Set;import javax persistence Entity;import javax persistence GeneratedValue;import javax persistence GenerationType;import javax persistence Id;import javax persistence OneToMany;import javax persistence Table;

/** * * @author hadeslee */@Entity@Table(name = JPADepartment )public class Department implements Serializable

    private static final long serialVersionUID = L;    @Id    @GeneratedValue(strategy = GenerationType AUTO)    private Long id;    @OneToMany(mappedBy = department )    private Set<Person> persons = new HashSet<Person>();    private String deptName;    private String description;

    public String getDeptName()         return deptName;   

    public void setDeptName(String deptName)         this deptName = deptName;   

    public String getDescription()         return description;   

cha138/Article/program/Java/ky/201311/29049

相关参考

知识大全 JPA和hibernate对删除操作的不同[5]

JPA和hibernate对删除操作的不同[5]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n

知识大全 JPA和hibernate对删除操作的不同[4]

JPA和hibernate对删除操作的不同[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n

知识大全 JPA和hibernate对删除操作的不同[2]

JPA和hibernate对删除操作的不同[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n

知识大全 hibernate优化方案

  一批量修改和删除  在Hibernate中如果需要对任何数据进行修改和删除操作都需要先执行查询操作在得到要修改或者删除的数据后再对该数据进行相应的操作处理在数据量少的情况下采用这种处理方式没有问题

知识大全 Hibernate(jpa)复合主键annotation声明方法

Hibernate(jpa)复合主键annotation声明方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 Hibernate/JPA成功使用的十点心得

Hibernate/JPA成功使用的十点心得  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  大约

知识大全 学习JPA——Hibernate Annotation使用实例

学习JPA——HibernateAnnotation使用实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Hibernate批量更新与删除实例浅析

Hibernate批量更新与删除实例浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在我们的

知识大全 hibernate级联删除

  有两张表结构如下  Java代码  t_item            &n

知识大全 Hibernate的多对一和一对多操作实例

Hibernate的多对一和一对多操作实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Hib