myjpa - 实现 JPA 的插件


GPL
跨平台
Java

软件简介

使用 mybatis 来实现 jpa 的部分功能,可以与 spring-data-jpa 进行结合操作。

1. 与 spring-data-jpa 结合

1.1 定义 mapper

定义 mapper 时,继承自 JpaRepository 接口,便可以获得一些基础的增删改查的操作。如:

public interface UserDao extends JpaRepository<User, String> {
//这个自定义方法是标准的spring-data-jpa 定义方式
    List<User> findByFullName(String name);
}

如果定义了自定义的方法,那么需要在 mapper xml 文件里面定义对应的查询 sql。

1.2 使用这个 dao

//使用spring-data-jpa JpaRepository 接口中定义的方法
SpringApplication.run(MyJpaSamplesApplication.class, args).getBeanFactory().getBean(UserDao.class).getOne("1");

使用此框架的优点在于,结合了 jpa 与 mybatis。如果不需要使用 mybatis 时,替换此框架换为 hibernate
即可无逢切换,无需改动我们的代码本身。

当然此框架受限于 mybatis,无法支持 jpa 的一些特性,如对象状态等。

此框架目前还在持续开发中,不是太稳定,欢迎大家一起出力维护此框架。