天天看點

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