相关疑难解决方法(0)

我在哪里可以找到JPA2 Maven依赖?

我正在尝试构建一个依赖于JPA2的实现不可知的maven模块.不幸的是,唯一的Maven JPA依赖是基于JPA1,因此,我不能使用EntityManager.detach()方法,因为它只是JPA2选项.

理想情况下,我希望能够在我的Pom中指定我的javax.persistence依赖项,并要求app/container提供JPA2实现.不幸的是,我找不到任何这样的依赖.

在这一点上,我唯一的选择是将hibernate-jpa-2.0-api 1.0.0.FINAL声明为提供的依赖项吗?

dependencies maven jpa-2.0

32
推荐指数
3
解决办法
6万
查看次数

Spring 4.3.0.RELEASE,Hibernate 5.0.9.Final,缺少SessionFactoryImplementor.getProperties方法

我在我的应用程序中使用Spring 4.3.0.RELEASE和Hibernate 5.0.9.Final,我一直在使用

java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map;
Run Code Online (Sandbox Code Playgroud)

如果我更新Hibernate 5.2.0.Final,一切正常.看来Spring 4.3.0与Hibernate 5.0不兼容,这是正确的吗?我无法找到任何不支持Hibernate 5.0的内容.

在Hibernate 5.2中,存在这样的方法,在Hibernate 5.0中,该方法尚不存在(只需用URL替换5.2和5.0):http: //docs.jboss.org/hibernate/orm/5.2/javadocs/org/hibernate/发动机/ SPI/SessionFactoryImplementor.html

我创建了简单的重现器:https: //github.com/trepel/spring43-hibernate50-error

感谢你的回复.

spring hibernate spring-4 hibernate-5.x

7
推荐指数
1
解决办法
3811
查看次数

java.lang.NoSuchMethodError:org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava / util / Properties

@Configuration
@EnableTransactionManagement
public class DataSourceConfig {

    @Bean(destroyMethod = "shutdown")
    public DataSource dataSource(){
        EmbeddedDatabaseBuilder databaseBuilder = new EmbeddedDatabaseBuilder();
        databaseBuilder.setType(EmbeddedDatabaseType.H2);
        databaseBuilder.addScript("classpath:db/migration/V1__Create_Books_Table.sql");
        databaseBuilder.addScript("classpath:db/migration/V2__Add_Books.sql");
        return databaseBuilder.build();
    }

    @Bean
    public JpaVendorAdapter vendorAdapter(){

        HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
        vendorAdapter.setGenerateDdl(true);
        vendorAdapter.setDatabase(Database.H2);
        vendorAdapter.setShowSql(true);
        vendorAdapter.setDatabasePlatform("org.hibernate.dialect.H2Dialect");
        return vendorAdapter;
    }

    @Bean(name = "entityManagerFactory")
    public EntityManagerFactory managerFactory(){
    Properties jpaProperties = new Properties();
    jpaProperties.put("hibernate.hbm2ddl.auto", "create-drop");

    LocalContainerEntityManagerFactoryBean managerFactoryBean = new LocalContainerEntityManagerFactoryBean();
    managerFactoryBean.setDataSource(dataSource());
    managerFactoryBean.setJpaVendorAdapter(vendorAdapter());
    managerFactoryBean.setPackagesToScan("com.sammy");
    managerFactoryBean.setJpaProperties(jpaProperties);
    managerFactoryBean.afterPropertiesSet();
    return managerFactoryBean.getObject();
}

    @Bean
    public PlatformTransactionManager transactionManager(){
        JpaTransactionManager transactionManager = new JpaTransactionManager();
        transactionManager.setEntityManagerFactory(managerFactory());
        return transactionManager;
    }
}
Run Code Online (Sandbox Code Playgroud)

那是我的配置类,我的gradle构建文件是 …

java orm hibernate jpa intellij-idea

7
推荐指数
2
解决办法
5470
查看次数