Обновление до Spring boot 2.1.0 Data Jpa + Batch, обнаружение ORA-00942 - PullRequest
0 голосов
/ 30 ноября 2018

У меня проблема с обновлением до весенней загрузки 2.1.0 соответственно, я использую jpa + hibernate, и мои сущности и репозитории простые.

В основном мой код работает на весенней загрузке 2.0.4, но при обновлении 2.1.0 (изменения кода не выполняются) мои репозитории выдают ORA-00942 ошибок.Я проверил запросы гибернации в обеих версиях, и все они выглядят одинаково.

Я прочитал список изменений и не вижу ничего, что могло бы вызвать проблему.

Я озадачен этим вопросом, любые предложения приветствуются!

У меня есть ошибки и настройки ниже

Настройка хранилища:

package com.my.sample.app.dao

@Repository
public interface MyRepository extends CrudRepository<MyEntity, String> {
     MyEntity findTopByTypeOrderByStartTimeDesc(String type);
}

JPA Связанные настройки:

package com.my.sample.app.configs

@Configuration
@EnableJpaRepositories(entityManagerFactoryRef = "entityManagerFactory", basePackages = "com.my.sample.app.dao")
@EnableTransactionManagement
public class DatabaseConnectionConfig {

    @Bean
    @Primary
    @ConfigurationProperties(prefix = "my-datasource")
    public DataSource dataSource() {
        return DataSourceBuilder.create().build();
    }

    @Primary
    @Bean(name = "entityManagerFactory")
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder,
            DataSource dataSource) {
        Map<String, String> properties = new HashMap<>();
        properties.put("hibernate.dialect", "org.hibernate.dialect.OracleDialect");

        return builder.dataSource(dataSource).packages("com.my.sample.app.entity").persistenceUnit("my-jpa").properties(properties)
                .build();
    }

    @Primary
    @Bean(name = "myJpaTransactionManager")
    public PlatformTransactionManager transactionManager(
            @Qualifier("entityManagerFactory") EntityManagerFactory entityManagerFactory) {
        return new JpaTransactionManager(entityManagerFactory);
    }
}

Объекты:

package com.my.sample.app.entity

@Entity
@Table(name = "AUDIT_TABLE")
public class AuditLog implements Serializable{
    private static final long serialVersionUID = 7862607645530582453L;
    @Id
    @GeneratedValue(generator = "uuid")
    @GenericGenerator(name = "uuid", strategy="uuid2")
    @Column(name = "AUDIT_ID")
    private String auditId;
    @Column(name = "TYPE")
    private String dataType;
    @Column(name = "START_TIME")
    private Date startTime;
    @Column(name = "END_TIME")
    private Date endTime;
    @Column(name = "STATUS")
    private String status;

    //getters & setters
}

Обнаружены ошибки:

2018-11-30 14:37:04.539  WARN 21616 --- o.h.engine.jdbc.spi.SqlExceptionHelper  : SQL Error: 942, SQLState: 42000
2018-11-30 14:37:04.539 ERROR 21616 --- o.h.engine.jdbc.spi.SqlExceptionHelper  : ORA-00942: table or view does not exist

Файл свойств:

my-datasource.jdbcUrl = jdbc:oracle:thin:@hostname:1521/service
my-datasource.username = username
my-datasource.password = password
my-datasource.driverClassName = oracle.jdbc.driver.OracleDriver

PS: Таблица определенно существует, и мой код работает на версии весенней загрузки 2.0.4.Не уверен, что сломалось при обновлении до 2.1.0

1 Ответ

0 голосов
/ 30 ноября 2018

Попробуйте изменить свой файл свойств на:

my-datasource.jdbcUrl = jdbc:oracle:thin:@hostname:1521:service
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...