它属于java持久化规范规范(JPA)里的技术,实体bean可以和数据库表之间建立映射关系。那么程序员就可以随心所欲的用操作对象的方式来操作数据库了。JPA的出现是为了简化持久化开发工作和整合ORM技术。目前实现JPA的规范的主流产品有HIberanteg,TopLink和OpenJPA。在jboss中采用Hiberante作为其持久化实现产品。
根据JPA规范:在实体bean应用中,我们要在应用的类路径下的META-INF目录加入持久化配置文件persistence.xml
在该文件中:
<persistence-unit name=”tiger” transaction-type=”JTA”></persistence-unit>为持久化单元 ,name为单元名称.transaction-type:为事务类型,默认为JTA。
<jta-data-source> java:tigerDS </jta-data-source>为数据源,java:tigerDS为数据源名称
创建与数据库映射的实体bean
@Entity
@Table (name=”person”)
public class Person implements Serializable{
@Id @Column(name=”id”)@GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@Column(name=”name”,length=20,nullable==”false”)
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
对实体的增删改查,是通过实体管理器(EntityManager)来完成的。它可以通过
@PersistenceContext(unitName=”tiger”) EnittyManager em 得到。如下:
Public class PersonServiceBean {
@PersistenceContext(unitName=”tiger”) EnittyManager em
Public void delete(Interger personId){
em.rmove(em.getReference(Person.class,personid));
}
Public List<Person> getPersons(){
return em.createQuery(“select o from Person o”).getResultList();
}
Public void save(Person person){
em.persist(person);
}