Java PersistenceContext クラスの例
以下は Java の PersistenceContext クラスを使用する例です。
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.Transactional;
@Transactional
public class EmployeeService {
@PersistenceContext
private EntityManager entityManager;
public void createEmployee(Employee employee) {
entityManager.persist(employee);
}
public Employee getEmployeeById(int id) {
return entityManager.find(Employee.class, id);
}
public void updateEmployee(Employee employee) {
entityManager.merge(employee);
}
public void deleteEmployee(Employee employee) {
entityManager.remove(employee);
}
}
上記のコード例では、@PersistenceContextアノテーションはEntityManagerフィールドをマークするために用いられ、Java Persistence API (JPA)にデフォルトの永続化コンテキストを使用するように指示しています。
createEmployeeメソッドは、EntityManagerのpersistメソッドを用いて、Employeeオブジェクトをデータベースに保存します。
getEmployeeByIdメソッドは、EntityManagerのfindメソッドを使用して、指定されたidに基づいてEmployeeオブジェクトを取得します。
updateEmployeeメソッドはEntityManagerのmergeメソッドを使用して更新されたEmployeeオブジェクトをデータベースに保存します。
deleteEmployeeメソッドはEntityManagerのremoveメソッドを使用して、データベース内のEmployeeオブジェクトを削除する。
上述例の@Transactional アノテーションはトランザクション管理を有効にするためのものであることに注意してください。これにより、データベース操作はすべてメソッドの実行中に1つのトランザクションの中で行われ、データの一貫性が保たれます。