【プログラミング】【java】JPAについて - j-komatsu/myCheatSheet GitHub Wiki
JPA(Java Persistence API)は、Javaアプリケーションでデータベースを扱うための仕様です。ORM(Object-Relational Mapping)技術を用いて、Javaのオブジェクトとデータベースのレコードをマッピングします。
特徴 | 説明 |
---|---|
ORMを採用 | Javaオブジェクトとデータベーステーブルのマッピングが可能 |
標準API | JPAはJava EEの標準仕様であり、HibernateやEclipseLinkなどの実装がある |
SQLを意識しない | エンティティを利用して、SQLの記述なしでデータ操作が可能 |
@Entity
public class Department {
@Id @GeneratedValue
private Long id;
@OneToMany(mappedBy = "department")
private List<Employee> employees;
}
@Entity
public class Employee {
@Id @GeneratedValue
private Long id;
@ManyToOne
@JoinColumn(name = "department_id")
private Department department;
}
@Query("SELECT u FROM User u WHERE u.name = :name")
List<User> findByName(@Param("name") String name);
@Query(value = "SELECT * FROM users WHERE email = ?1", nativeQuery = true)
User findByEmail(String email);
@Transactional
public void updateUser(Long id, String name) {
User user = userRepository.findById(id).orElseThrow();
user.setName(name);
userRepository.save(user);
}
JPAを利用すると、データベース操作を簡潔に記述でき、ORMを活用することで保守性の高いコードを実装できます。Spring Bootと組み合わせることで、より効率的な開発が可能になります。