天天看点

ejb使用EntityManager调用数据库的配置

使用EntityManager跟数据库交互的方式跟Hibernate有一些相似。

一、需要写bean类。如

@Entity

@Table(name = "user")

public class User implements Serializable

{

private static final long serialVersionUID = 1L;

private int id;

private String username;

private String password;

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

public int getId()

{

return id;

}

public void setId(int id)

{

this.id = id;

}

public String getUsername()

{

return username;

}

public void setUsername(String username)

{

this.username = username;

}

public String getPassword()

{

return password;

}

public void setPassword(String password)

{

this.password = password;

}

}

二、需要写一个persistence.xml的配置文件

<?xml version="1.0" encoding="UTF-8"?>

<persistence>

<persistence-unit name="jpaUnit" transaction-type="JTA">

<jta-data-source>java:jboss/datasources/MysqlDS</jta-data-source>

<properties>

<property name="hibernate.show_sql" value="true" />

</properties>

</persistence-unit>

</persistence>

其中的jpaUnit是EntityManager需要的一个name,EntityManager关联的时候需要从这个name查找到这一个persistence

<jta-data-source>java:jboss/datasources/MysqlDS</jta-data-source>这个是配置已经在datasouce中配好的数据源,也可以理解为配置数据库的路径,方便EntityManager去寻找。

<properties></properties>这一个标签里面可以填写一些hibernate(JBOSS使用的是hibernate,weblogic10使用的是Kodo)的设置。

三、在需要使用数据库操作的类中定义EntityManager

@PersistenceContext(unitName = "jpaUnit")

EntityManager em;

上面的unitName就是persistence.xml中设置的persistence-unit 标签的name属性的值

这三部分配置好之后。就可以直接使用EntityManager去操作数据库