使用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去操作数据库