读书人

jboss实业bean详解

发布时间: 2012-10-06 17:34:01 作者: rapoo

jboss实体bean详解

它属于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);

}

?

?

?

?

?

?

?

?

读书人网 >操作系统

热点推荐