- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
目前我正在尝试让 JPA 示例与 Spring Boot 一起使用
(http://spring.io/guides/tutorials/data/3/)。
当我使用示例中的代码时:
@Bean
public DataSource dataSource() throws SQLException {
EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
return builder.setType(EmbeddedDatabaseType.H2).build();
}
@Bean
public EntityManagerFactory entityManagerFactory() throws SQLException {
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
vendorAdapter.setGenerateDdl(true);
LocalContainerEntityManagerFactoryBean factory = new LocalContainerEntityManagerFactoryBean();
factory.setJpaVendorAdapter(vendorAdapter);
factory.setPackagesToScan("com.yummynoodlebar.persistence.domain");
factory.setDataSource(dataSource());
factory.afterPropertiesSet();
return factory.getObject();
}
@Bean
public EntityManager entityManager(EntityManagerFactory entityManagerFactory) {
return entityManagerFactory.createEntityManager();
}
@Bean
public PlatformTransactionManager transactionManager() throws SQLException {
JpaTransactionManager txManager = new JpaTransactionManager();
txManager.setEntityManagerFactory(entityManagerFactory());
return txManager;
}
@Bean
public HibernateExceptionTranslator hibernateExceptionTranslator() {
return new HibernateExceptionTranslator();
}
我总是收到异常“原因:java.lang.ClassCastException: org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean$$EnhancerBySpringCGLIB$$3cbaf28d cannot be cast to javax.persistence.EntityManagerFactory”。
我将这个示例与我自己的数据源一起使用:
@Bean
public DataSource dataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUsername("user");
dataSource.setMaxTotal(5);
dataSource.setInitialSize(2);
dataSource.setPassword("pw");
dataSource.setUrl("jdbc:mysql://localhost/data");
return dataSource;
}
当我改变一些东西时,一切正常:
我将“EntityManagerFactory”-方法更改为:
public LocalContainerEntityManagerFactoryBean entityManagerFactory() ...
以及transactionManager方法:
public PlatformTransactionManager transactionManager(
EntityManagerFactory emf) throws SQLException {
并通过方法变量“emf”直接设置EntityManagerFactory。
这是为什么呢?
有人可以向我解释为什么教程中的示例不起作用吗?我正在为这个项目使用 mysql 驱动程序。
谢谢!
问候
最佳答案
这可能会有所帮助:
@Bean
public PlatformTransactionManager transactionManager(final EntityManagerFactory emf) {
final JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(emf);
transactionManager.setDataSource(dataSource());
transactionManager.setJpaDialect(jpaDialect());
return transactionManager;
}
关于java - Spring JPA - org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean 无法转换为 javax.persistence.EntityManagerFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25185023/
我已经浏览了 spring data jpa 引用文档在 Spring Boot 中配置数据源,并使用 LocalcontainerEntityManagerFactoryBean 和 transac
我使用 Spring Boot、Spring Data JPA 和 Hibernate。 我需要通过自定义注释过滤由 EntityManager 管理的实体。 LocalContainerEntity
我不明白,到底发生了什么! 突然间,简单的事情停止工作了! 现在我正在尝试定义类似这里的东西 http://docs.spring.io/spring-data/jpa/docs/1.10.6.REL
如何使用 spock 测试我的数据库连接?我知道如何使用 JUnit 和测试通过来执行此操作,但是当我尝试使用 Spock 执行类似的操作时,我收到 NullPointerException 并且 C
我正在尝试在 JPA 中创建 NamedQuery。不幸的是,由于以下原因失败了: Caused by: org.springframework.beans.factory.BeanCreationE
我是第一次使用Spring。是否可以使用 LocalContainerEntityManagerFactoryBean 来创建类似于 hibernate session 的内容? 我熟悉从 hiber
问题在于在 Spring 托管 bean 中注入(inject) @PersistenceContext 的 EntityManager 不会将实体持久保存到数据库中。我尝试在 AddDao bean
在spring的官方文档中this接下来写: @Bean public LocalContainerEntityManagerFactoryBean entityManagerFactory()
谁能解释一下 Spring Framework 的 LocalContainerEntityManagerFactoryBean 和 LocalEntityManagerFactoryBean 有什么
在 Spring 3.1 及更高版本中,LocalContainerEntityManagerFactoryBean应该能够在没有 persistence.xml 的情况下配置 JPA EntityM
我想运行Configuration.generateSchemaUpdateScriptList()。但是 Hibernate 是使用 LocalContainerEntityManagerFacto
我正在开发一个应用程序,它接收各种 XML 文件,其中包含我存储在数据库中的不同“单独”对象。目标是读取和处理所有文件。如果文件处理正确,它将移动到“已处理”文件夹。如果抛出异常,它将移动到错误文件夹
我在运行测试时看到了这一点。我确信正在建立(或尝试)数据库连接,因为当我没有包含密码时它最初给出了一个错误,然后它提示因为该名称的数据库不存在。一旦我创建了数据库,它就会给我这个错误: $ mvn c
在我的项目类 LocalContainerEntityManagerFactoryBean 中找不到。我不明白为什么?在其他带有此类的简单项目中,一切正常。
我在名为 beans.xml 的文件中有以下 bean 定义:
我试图让 hibernate 扫描 package-info.java 文件,以便我可以创建包级别注释,而不必在每个实体中定义注释。我发现这篇文章提到了如何做到这一点: Why would Hiber
我有一个 REST 服务 spring boot 应用程序,包含两个独立的 maven 项目: 第一个 myapp-data 包括 Spring Data JPA + Spring Data Rest
我试图找到解决方案,但仍然没有运气。 我正在关注 "Pro Spring 3" (Apppress) [第 351 页] 我已将项目生成为 jpa 项目。 据我所知,我可以使用 persistence
我正在尝试让 SpringBoot 应用程序与 Hibernate 5 一起运行,以利用我认为它包含的 Java LocalDate 更改(而不是使用 java.util.Date)。 为了获得更新的
我正在构建一个 Maven Web MVC 应用程序,我使用的是 java 配置而不是 XML。 但是我遇到了这个错误,而且我找不到解决方案。 org.springframework.beans.fa
我是一名优秀的程序员,十分优秀!