ได้ entityManageFactory ข้อผิดพลาด ชุดรูปแบบ-การตรวจสอบ:หายไปโต๊ะ[hibernate_sequence]

0

คำถาม

ฉันมี 2 ฐานข้อมูล. หนึ่งจะถูกตั้งขึ้นแล้วและมันได้ผล หลังจากที่ฉันเพิ่มสอง db ฉันกำลังจะมีตามข้อผิดพลาด entityManageFactory ข้อผิดพลาด ชุดรูปแบบ-การตรวจสอบ:หายไปโต๊ะ[hibernate_sequence].

ฉัน db รูปแบบชุดสีดูเหมือนนี้:db ชุดรูปแบบภาพหน้าจอที่จับได้

enter image description here

ฉันมีสองชั้นเรียนสำหรับสองตารางข้อมูลเรียบร้อยแล้ว:

@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);
    }
}

และ:

@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;
}

และเก็บแฟ้ม:

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);
}

สองส่วนเชื่อมต่อ:

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);
}

ฉัน rewriting ของฉัน db จาก jdbi จะ jpa. ดังนั้นข้อมูลชั้นเรียนไม่มีหมายเหตุประกอบและฉัน refactored ของฉันนางแบบแฟ้มที่เกี่ยวกับมันค้นข้อมูลที่อยู่ในเก็บแฟ้ม

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

คำตอบที่ดีที่สุด

0

ตั้งแต่คุณเพิ่มสองข้อมูลฤดูใบไม้ผลิ dosn ไม่รู้เรื่องของฉันกับฐานข้อมูลมันเชื่อมต่อซึ่งกันและกัน คุณต้อกันแน่แสดอะไรของฐานข้อมูลคุณต้องการที่จะเชื่อมต่อซึ่งกันและกัน คุณอาจจะ confiugure การเชื่อมต่อกับสองคนต่างออกฐานข้อมูลที่นี่คือตัวอย่างของการทำงานกับ JdbcTemplate การเชื่อมต่อ.

@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());
    }

}

คุณต้องทำยังไงกับ JpaRepository การเชื่อมต่อ. อีกถูกต้อคุณสามารถได้รับความรู้เรื่องนี้กันแหล่งข่าว

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

นี่เป็นคำอธิบายวิธีที่จะเชื่อมต่อสองคน differnet ฐานข้อมูลในหนึ่งฤดูใบไม้ผลิโครงการการบูต

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

2021-11-23 10:37:58

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

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

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่