Создание последовательности в Oracle Программно с использованием JPA - PullRequest
0 голосов
/ 25 апреля 2018

Я использую spring-boot-starter-data-jpa в моем загрузочном проекте Spring для работы с БД.

Я хочу создать последовательность в Oracle программно.Я видел много решений, которые создают последовательность, используя необработанный запрос, но я хочу создать последовательность из кода.Могу ли я что-нибудь сделать, используя JPA.

Я также хочу получить этот порядковый номер и вернуть его вызывающей стороне.

Заранее спасибо !!!

1 Ответ

0 голосов
/ 26 апреля 2018

Прежде всего, вы должны разрешить Hibernate (одна из реализаций JPA, доступных в spring-boot-starter-data-jpa) создавать операторы DDL, поэтому в application.properties :

spring.jpa.hibernate.ddl-auto=create

Обратите внимание, что это не рекомендуется для производства.

Далее, аннотируйте свою сущность следующим образом:

@Entity
public class SomeEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO, generator = "my_generator")
    @SequenceGenerator(name = "my_generator", sequenceName = "MY_SEQUENCE",  allocationSize = 1)
    private Long id;
    //...
}

Как только ваше приложение запустится, hibernate на основе вашей конфигурации ddl-auto создаст для вас последовательность:

Hibernate: создать последовательность MY_SEQUENCE, начиная с 1 приращения на 1

Подробнее о ddl-auto конфигурациях можно прочитать здесь .

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