Spring Data API只是对JPA API做了轻量级封装,但是Spring Data API无法完成还有一些需要更紧密与ORM软件交互的精细操作,例如在程序中灵活地管理底层ORM软件的持久化缓存,创建和调用持久化层的拦截器等。在这种情况下,Spring框架允许开发人员自定义Repository接口,然后通过JPA API来实现该接口,这样就能充分发挥JPA API的特长,灵活地与持久化层的ORM软件进行深度交互。
下面举例演示创建自定义Repository接口、实现该接口,以及使用该接口的步骤。
(1)创建自定义的CustomerRepository接口,它声明了一个batchSaveCutomer()方法,用于批量保存Customer对象。值得注意的是,CustomerRepository接口并没有继承Spring Data API中的Repository接口:
public interface CustomerRepository {
public voidbatchSaveCustomer();