java - Spring Data JPA和MyBatis

标签 java spring-data-jpa mybatis spring-mybatis

我正在尝试将Spring Data JPA与MyBatis一起使用。由于没有MyBatis的供应商适配器,这里有什么替代方案?

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="packagesToScan" value="com.abc.xyz.domain"/>
</bean>

当我尝试初始化我的应用程序时,出现以下异常。
Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: No PersistenceProvider specified in EntityManagerFactory configuration, and chosen PersistenceUnitInfo does not specify a provider class name either

谢谢

最佳答案

Mybatis没有实现JPA。
Mybatis不是ORM框架。 JPA是由Hibernate,Toplink,Eclipselink实现的ORM规范。由于Mybatis不执行JPA,因此它不属于JPA提供程序的范围。
因此,您不能将mybatis用作JPA框架。
Mybatis是一个数据映射器框架,与JPA相比,它是完全不同的框架。
在JPA和ORM框架中,将对象/实体映射到相应的sql表,并且您在对象上而不是在表上直接工作,除非您使用它们的 native 查询。
在mybatis中,您直接使用sql数据。
希望这能消除mybatis和JPA之间的差异。
因此,当您希望使用 Spring 数据的mybatis时,可以独立使用spring数据mybatis,而不要使用spring数据JPA。

关于java - Spring Data JPA和MyBatis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33652936/

相关文章:

java - 在 Java 中如何查看堆中的内容?

java - 字符串数组和列表比较

mysql - 参数 2 中的 JSON 文本无效 - 使用 Spring JPA 的 json_contains

java - Spring Data错误由: org. hibernate.QueryException引起:无法解析属性

java - MyBatis Spring DYNAMIC 多个数据库的Java配置

spring-data-jdbc 与 mybatis 集成

Java 1.7 + JSCH : java. security.InvalidKeyException: Key is too long for this algorithm

java - 在这种情况下替代 instanceof 方法

java - 如何有条件添加JPA规范进行查询?

java - MyBatis 插入所有带有生成 ID 的内容