Отображение Hibernate на нескольких базах данных (Oracle, Mysql) - PullRequest
0 голосов
/ 19 ноября 2018

Я хочу, чтобы мое веб-приложение работало на mysql и Oracle, я использую Hibernate 5. Мое отображение hibernate выглядит следующим образом:

public class EventEntity {

    @Id
    @GeneratedValue(generator = "id_generator_EventEntity")
    @GenericGenerator(name = "id_generator_EventEntity", strategy = "native", parameters = {
            @Parameter(name="sequence_name", value="EVENT_SQ") 
    })
    private Long id;

Поскольку я использую собственный генератор, поэтому он использует автоинкремент на Mysql и последовательность наOracle, который работает нормально.Однако я также определил, какую последовательность следует использовать при вставке события, но у меня возникает следующая ошибка во время вставки:

2018-11-19 09:35:05.228 DEBUG [org.hibernate.SQL:94]  - 
    select
        hibernate_sequence.nextval 
    from
        dual 
2018-11-19 09:35:05.302 DEBUG [org.hibernate.engine.jdbc.spi.SqlExceptionHelper:126]  - could not extract ResultSet [n/a] 
java.sql.SQLSyntaxErrorException: ORA-02289: sequence does not exist
    at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494)
    at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446)
    ...

Так что он игнорирует мой совет, какую последовательность следует использовать, и он хочет использовать последовательность по умолчанию (hibernate_sequence).

Любая помощь, пожалуйста?

Спасибо,
V.

//////////////////////////////// ОБНОВЛЕНИЕ 1 ////////////////////////////////
Мое решение такдалеко - перейти на Hibernate 4 и использовать следующее отображение:

@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "id_generator_EventEntity")
@SequenceGenerator(name="id_generator_EventEntity", sequenceName = "EVENT_SQ")
private Long id;

Возможно ли, что в Hibernate 5 нет решения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...