Spring + hibernate versus Spring Data JPA: Are they different?

Although not novice, I am trying to learn spring framework (again!) in order to be sure that I really understand this. I have got fair idea on core Spring (DI). Now, I am focusing on Data layer.

I have come across the term " Spring and Hibernate ". As I can interpret it would mean using Spring Framework with Hibernate as ORM tool/JPA provider.

Now I have come across " Spring Data JPA ". I clarified on SO about Spring Data JPA, that it is an abstraction layer on-top of JPA (and under the hood Spring Data JPA uses Hibernate or any other JPA provider).

Now are these terms same? That is, is " Spring + hibernate " same as that of " Spring Data JPA ". If not, then what is the difference / similarities?

I am really confused on so many terms/statements (like above) seemingly to be similar, but may be different.

I think that with Spring data JPA you can use another JPA implementation than HIbernate, it is not tied to Hibernate.

With spring data JPA you can write interface methods that are interpreted and traduce by spring data jpa into HQL (if you use Hibernate as a provider) .

For example into a custom interface called UserJpaRepository extending JpaRepository you can have a method like this to get a valid user :

Optional<User> findByNameAndValid(String userName, boolean valid)

You just have to respect naming conventions so you won’t have to write a specific query like :

@Query("select u from User u where u.name = :name and u.valid = :valid")
Optional<User> findByNameAndValid(@param("name") String name,@param("valid") boolean valid)