-
エンティティの作成とマッピング:
- データベーステーブルと対応するエンティティクラスを作成します。
- エンティティクラスのフィールドとデータベーステーブルのカラムをマッピングします。
-
リポジトリの作成と基本的なクエリ操作:
- エンティティに対応するリポジトリインターフェースを作成します。
- リポジトリインターフェースには、基本的なデータベース操作(CRUD)のためのメソッドが含まれます。例えば、findByXxxやsaveなどのメソッドです。
-
クエリメソッドの作成:
- カスタムのクエリメソッドをリポジトリに追加することで、より複雑なデータベース操作を行うことができます。例えば、特定の条件に基づいてデータを取得するためのメソッドを作成できます。
-
トランザクションの管理:
- Spring Data JPAは、デフォルトでトランザクションの管理をサポートしています。トランザクションの開始、コミット、ロールバックなどを行うことができます。
以下は、上記の方法に関連するコード例です。
エンティティの作成とマッピングの例:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "username")
private String username;
// Getter and Setter methods
}
リポジトリの作成と基本的なクエリ操作の例:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findByUsername(String username);
List<User> findByAgeGreaterThan(int age);
}
カスタムのクエリメソッドの例:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
@Query("SELECT u FROM User u WHERE u.username LIKE %:keyword%")
List<User> searchByUsername(@Param("keyword") String keyword);
}
これらはSpring Data JPAを使用してデータベース操作を行うための一般的な手法とコード例です。実際のアプリケーションに応じて、より複雑な操作やパフォーマンスの最適化などを追加することもできます。