以下是关于Spring Data JPA
的问题。
Q1 是Spring Data JPA,ORM?如果没有,那是什么?
Q2 Spring数据JPA有什么优势?
答案 0 :(得分:7)
Q1是Spring Data JPA,ORM?如果没有,那是什么?
没有。这是一个创建"自动"数据访问对象(DAO)在编译时为您服务,在这些DAO中使用 ORM(如Hibernate)。
Q2弹簧数据JPA有什么优势?
您不需要编写自己的DAO
例如,您创建一个这样的实体:
@Entity
public class Foo {
@Id
private Long id;
private String name;
...
}
和这样的存储库定义:
public interface FooRepository extends CrudRepository<Foo, Long> {
}
Spring Data JPA将在编译时创建一个真正的存储库类,您可以使用它来选择,插入,更新和删除您的Foo对象。
@Controller
public class FooController {
@Autowired
private FooRepository fooRepository;
@RequestMapping("/")
@ResponseBody
Foo getFoo() {
return fooRepository.findOne(1L); //look, you didn't need to write a DAO!
}
}
此存储库类在运行时使用JPA EntityManager。