【问题标题】:Creating sequence in Oracle Programmatically using JPA使用 JPA 以编程方式在 Oracle 中创建序列
【发布时间】:2018-10-06 08:34:48
【问题描述】:

我在我的 Spring Boot 项目中使用 spring-boot-starter-data-jpa 来处理数据库内容。

我想以编程方式在 Oracle 中创建一个序列。 我见过许多使用原始查询创建序列的解决方案,但我想从代码中创建一个序列。使用 JPA 有什么我可以做的吗?

我也想得到这个序列号并返回给调用者。

提前致谢!!!

【问题讨论】:

    标签: java database oracle spring-boot spring-data-jpa


    【解决方案1】:

    首先,您必须允许 Hibernate(spring-boot-starter-data-jpa 中可用的 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;
        //...
    }
    

    一旦您的应用程序启动,休眠基于您的ddl-auto 配置将为您创建序列:

    Hibernate:创建序列 MY_SEQUENCE 以 1 递增 1 开始

    您可以阅读有关ddl-autoconfigurations here 的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-09
      • 2018-02-21
      • 1970-01-01
      • 1970-01-01
      • 2013-03-11
      • 2013-11-29
      • 1970-01-01
      相关资源
      最近更新 更多