Chegando entityManageFactory erro. Validação de esquema: tabela ausente [hibernate_sequence]

0

Pergunta

Eu tenho 2 bancos de dados. Um deles está definido e e ele funciona. Depois de me juntar a segunda db eu estou tendo o seguinte erro entityManageFactory erro. Validação de esquema: tabela ausente [hibernate_sequence].

Meu esquema de banco de dados se parece com isso: esquema de banco de dados screenshot

enter image description here

Eu tenho duas aulas de duas tabelas:

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity(name = "nightly_rate_amounts")
@Table(name = "nightly_rate_amounts")
public class BookedNightlyRate {
@Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "bnr_meta_id")
    private Long id;
    @Column(name = "unit_uuid")
    private UUID unitUuid;
    private LocalDate firstLiveDate;
    private LocalDate date;
    private BigDecimal amount;
    @Column(name = "currency_code")
    private String currencyCode;

    public ImmutableTriple<UUID, LocalDate, String> toUnitDateCurrencyKey() {
        return new ImmutableTriple<>(unitUuid, date, currencyCode);
    }

    public ImmutablePair<UUID, String> toUnitCurrencyKey() {
        return new ImmutablePair<>(unitUuid, currencyCode);
    }
}

e:

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity(name = "unit_attributes")
@Table(name = "unit_attributes")
public class BookedUnitAttributes {
    @Id
    @Column(name = "unit_uuid")
    private UUID unitUuid;
    @Column(name = "first_date_available")
    private LocalDate firstLiveDate;
}

e Repositório de arquivos:

public interface BookedNightlyRatesDao extends CrudRepository<BookedNightlyRate, Long> {

@Query(value = "SELECT DISTINCT bnr.unit_uuid as unitUuid, bnr.date, bnr.amount, bnr.currency_code as currencyCode " +
        "FROM nightly_rate_amounts AS bnr " +
        "WHERE bnr.unit_uuid IN (<unitUuids>) AND (bnr.date BETWEEN :fromDate AND :toDate)", nativeQuery = true)
List<BookedNightlyRate> findBookedNightlyRates(@Param("unitUuids") List<String> unitUuids, @Param("fromDate") LocalDate fromDate, @Param("toDate") LocalDate toDate);

@Query(value = "SELECT DISTINCT opb.unit_uuid as unitUuid, opb.date, opb.amount, opb.currency_code as currencyCode " +
        "FROM opb_nightly_rate_amounts AS opb " +
        "JOIN opb_sync_enabled_for_unit AS sync ON opb.unit_uuid = sync.unit_uuid WHERE sync.enabled = 1 AND opb.is_active = 1 " +
        "AND sync.unit_uuid IN (<unitUuids>) AND (opb.date BETWEEN :fromDate AND :toDate)", nativeQuery = true)
List<BookedNightlyRate> findOPBRates(@Param("unitUuids") List<String> unitUuids, @Param("fromDate") LocalDate fromDate, @Param("toDate") LocalDate toDate);
}

segunda interface:

public interface BookedUnitAttributesDao extends CrudRepository<BookedUnitAttributes, UUID> {

@Query(value = "SELECT ua.unit_uuid as unitUuid, ua.first_date_available as firstLiveDate " +
        "FROM unit_attributes AS ua " +
        "WHERE ua.unit_uuid IN (<unitUuids>)", nativeQuery = true)
List<BookedUnitAttributes> findUnitAttributes(@Param("unitUuids") List<String> unitUuids);
}

Estou reescrevendo o meu db a partir de jdbi para jpa. Para que os Dados de classes não têm qualquer anotações e eu refatorado o meu modelo, os arquivos sobre ele consulta o repositório de arquivos.

hibernate java spring spring-data-jpa
2021-11-23 06:49:58
1

Melhor resposta

0

Desde que você adicione dois banco de dados Primavera dosn sei que tipo de banco de dados-lo a se conectar. Você tem que mostrou exatamente que tipo de banco de dados que você deseja se conectar. Você pode confiugure conexão com dois banco de dados diferente aqui é exemplo de trabalho com JdbcTemplate de conexão.

@Configuration
@ComponentScan("uz.dbo.dbocallcenter")
@PropertySource("classpath:database.properties")
public class Config2 {

    @Autowired
    Environment environment;

    private final String DRIVER = "driver";
    private final String URL1 = "url1";
    private final String USER1 = "dbusername1";
    private final String PASSWORD1 = "dbpassword1";
    private final String URL2 = "url2";
    private final String USER2 = "dbusername2";
    private final String PASSWORD2 = "dbpassword2";


    private DataSource dataSource1() {
        return getDataSource(URL1, USER1, PASSWORD1);
    }
    private DataSource dataSource2() {
        return getDataSource(URL2, USER2, PASSWORD2);
    }

    private DataSource getDataSource(String url1, String user1, String password1) {
        DriverManagerDataSource driverManagerDataSource = new DriverManagerDataSource();
        driverManagerDataSource.setUrl(environment.getProperty(url1));
        driverManagerDataSource.setUsername(environment.getProperty(user1));
        driverManagerDataSource.setPassword(environment.getProperty(password1));
        driverManagerDataSource.setDriverClassName(environment.getProperty(DRIVER));
        return driverManagerDataSource;
    }




    @Bean(name = "jdbcTemplate2")
    public JdbcTemplate jdbcTemplate2() {
        return new JdbcTemplate(dataSource2());
    }
    @Bean(name = "jdbcTemplate1")
    public JdbcTemplate jdbcTemplate1() {
        return new JdbcTemplate(dataSource1());
    }

}

você tem a ver com JpaRepository de conexão. Mais precisamente, você pode obter o conhecimento sobre esta fonte

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#reference

Aqui também é uma boa explicação de como conectar dois differnet banco de dados em uma primavera de arranque do projecto

https://www.baeldung.com/spring-data-jpa-multiple-databases

2021-11-23 10:37:58

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................