Spring BootSpring Data JPA
Spring Boot

Spring Data JPA

Access databases easily using Spring Data JPA and Hibernate.

Entity Class

Define a JPA entity:
Java
@Entity
@Table(name = "users")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(nullable = false)
    private String name;

    @Column(unique = true, nullable = false)
    private String email;

    // Getters and Setters
}

Repository Interface

Extend JpaRepository for CRUD operations:
Java
public interface UserRepository extends JpaRepository<User, Long> {

    // Spring Data generates SQL automatically
    Optional<User> findByEmail(String email);

    List<User> findByNameContaining(String name);

    @Query("SELECT u FROM User u WHERE u.email = :email")
    User findUserByEmail(@Param("email") String email);
}