使用JPA以编程方式在Oracle中创建序列

时间:2018-04-25 18:54:31

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

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

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

我还想获取此序列号并将其返回给调用者。

提前致谢!!!

1 个答案:

答案 0 :(得分:0)

首先,您必须允许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-auto个配置here