广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java中JPA如何删除具有级联操作的相关实体?_北大青鸟IT学校

作者:邓华发布时间:2021-05-09分类:Java技术浏览:778


导读:Java是现在非常主流的编程语言之一,很多人想转行学习Java。那么,Java中JPA如何删除具有级联操作的相关实体?下面就让我们一起来看看惠州北大青鸟老师是怎么回答的。

Java是现在非常主流的编程语言之一,很多人想转行学习Java。那么,Java中JPA如何删除具有级联操作的相关实体?下面就让我们一起来看看惠州北大青鸟老师是怎么回答的。

以下代码显示如何删除具有级联操作的相关实体。

实例

下面的代码来自PersonDaoImpl.java。

package cn.w3cschool.common;

import java.util.Date;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import org.springframework.transaction.annotation.Transactional;

@Transactionalpublic class PersonDaoImpl {  public void test() {
   Employee emp = new Employee();
   emp.setName("Tom");
   emp.setId(1);

   Phone ph = new Phone();
   ph.setEmployee(emp);
   ph.setNumber("1234567890");

   ParkingSpace ps = new ParkingSpace();
   ps.setEmployee(emp);
   ps.setLocation("Dept");
   
   emp.setParkingSpace(ps);
   emp.getPhones().add(ph);
   em.persist(emp);
   emp = em.find(Employee.class, 1);
   em.remove(emp);
   
 }

 @PersistenceContext  private EntityManager em;
}

以下代码来自Phone.java。

package cn.w3cschool.common;



import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;

@Entitypublic class Phone {
   @Id    private long id;    private String number;    private String type;
   @OneToOne Employee employee;    
   public long getId() {
       return id;
   }    
   public void setId(long id) {
       this.id = id;
   }    
   public String getNumber() {
       return number;
   }    
   public void setNumber(String phoneNo) {
       this.number = phoneNo;
   }    
   public String getType() {
       return type;
   }    
   public void setType(String phoneType) {
       this.type = phoneType;
   }    
   public Employee getEmployee() {
       return employee;
   }    public void setEmployee(Employee employee) {
       this.employee = employee;
   }    public String toString() {
       return "Phone id: " + getId() +
              ", no: " + getNumber() +               ", type: " + getType();
   }
}

以下代码来自Employee.java。

package cn.w3cschool.common;



import java.util.ArrayList;
import java.util.Collection;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;

@Entitypublic class Employee {
   @Id    private int id;    private String name;
   
   @OneToOne(cascade={CascadeType.PERSIST, CascadeType.REMOVE})
   @JoinColumn(name="PSPACE_ID")
   ParkingSpace parkingSpace;

   @OneToMany(cascade={CascadeType.PERSIST, CascadeType.REMOVE},
              mappedBy="employee")
   Collection<Phone> phones;    public Employee() {
       phones = new ArrayList<Phone>();
   }    
   public int getId() {
       return id;
   }    
   public void setId(int id) {
       this.id = id;
   }    
   public String getName() {
       return name;
   }    
   public Collection<Phone> getPhones() {
     return phones;
   }    public void setPhones(Collection<Phone> phones) {
     this.phones = phones;
   }    public void setName(String name) {
       this.name = name;
   }    public ParkingSpace getParkingSpace() {
       return parkingSpace;
   }    
   public void setParkingSpace(ParkingSpace parkingSpace) {
       this.parkingSpace = parkingSpace;
   }    public String toString() {
       return "Employee id: " + getId() + " name: " + getName() +
              " with " + getParkingSpace();
   }
}

下面的代码来自ParkingSpace.java。

package cn.w3cschool.common;



import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name="PARKING_SPACE")public class ParkingSpace {
   @Id    private int id;    private int lot;    private String location;
   @OneToOne(mappedBy="parkingSpace")    private Employee employee;    public int getId() {
       return id;
   }    
   public void setId(int id) {
       this.id = id;
   }    public int getLot() {
       return lot;
   }    public void setLot(int lot) {
       this.lot = lot;
   }    
   public String getLocation() {
       return location;
   }    
   public void setLocation(String deptName) {
       this.location = deptName;
   }    public Employee getEmployee() {
       return employee;
   }    public void setEmployee(Employee employee) {
       this.employee = employee;
   }    
   public String toString() {
       return "ParkingSpace id: " + getId() + " lot: " + getLot() +               ", location: " + getLocation();
   }
}

以下是数据库转储。

Table Name: EMPLOYEE




Table Name: PARKING_SPACE
Table Name: PHONE

想知道更多关于Java的资讯,联系在线客服,或者来惠州北大青鸟新方舟校区了解了解。

Java17.jpg

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表