使用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去操作資料庫