企业门户网站建设方案书,编辑wordpress菜单,网站建设未验收会计账务处理,建设网银官网JPA教程 - JPA 实体管理器删除示例 我们可以使用JPA中的EntityManager来删除一个实体。
在下面的代码中#xff0c;我们首先通过使用EntityManager中的find方法从数据库获取person对象#xff0c;然后调用remove方法并传递person对象引用。 Person emp em.find(Person.cla…JPA教程 - JPA 实体管理器删除示例 我们可以使用JPA中的EntityManager来删除一个实体。
在下面的代码中我们首先通过使用EntityManager中的find方法从数据库获取person对象然后调用remove方法并传递person对象引用。 Person emp em.find(Person.class, 1L);if (emp ! null) {em.remove(emp);}例子
下面的代码来自Person.java。
package cn.w3cschool.common;
import static javax.persistence.FetchType.LAZY;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.Table;Entity
Table(nameEMP)
public class Person {IdColumn(name EMP_ID)private long id;Basicprivate String name;private String surname;Lob Basic(fetchLAZY)private byte[] picture;public Person() {}public Person(String name, String surname) {this.name name;this.surname surname;}public Long getId() {return id;}public void setId(Long id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getSurname() {return surname;}public void setSurname(String surname) {this.surname surname;}public byte[] getPicture() {return picture;}public void setPicture(byte[] picture) {this.picture picture;}Overridepublic String toString() {return Person [id id , name name , surname surname ];}
}下面的代码来自PersonDaoImpl.java。
package cn.w3cschool.common;import java.util.List;import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;import org.springframework.transaction.annotation.Transactional;Transactional
public class PersonDaoImpl {public void test(){Person p1 new Person(Tom, Smith);p1.setId(1L);p1.setPicture(asdf.getBytes());Person p2 new Person(Jack, Kook);p2.setId(2L);p1.setPicture(www.w3cschool.cn.getBytes());save(p1);save(p2);listAll();Person emp em.find(Person.class, 1L);if (emp ! null) {em.remove(emp);}listAll();}private void listAll(){ListPerson persons getAll();for (Person person : persons) {System.out.println(person);}}PersistenceContextprivate EntityManager em;public Long save(Person person) {em.persist(person);return person.getId();}public ListPersongetAll() {return em.createQuery(SELECT p FROM Person p, Person.class).getResultList();}}下载 EntityManager_Remove.zip
上面的代码生成以下结果。 以下是数据库转储。
Table Name: EMPRow:Column Name: EMP_ID,Column Type: BIGINT:Column Value: 2Column Name: NAME,Column Type: VARCHAR:Column Value: JackColumn Name: PICTURE,Column Type: BLOB:Column Value: nullColumn Name: SURNAME,Column Type: VARCHAR:Column Value: Kook从数据库转储中我们可以看到从数据库中删除id为1的Person实体。