使用 JPA 以编程方式在 Oracle 中创建序列
Posted
技术标签:
【中文标题】使用 JPA 以编程方式在 Oracle 中创建序列【英文标题】:Creating sequence in Oracle Programmatically using JPA 【发布时间】:2018-10-06 08:34:48 【问题描述】:我在我的 Spring Boot 项目中使用 spring-boot-starter-data-jpa
来处理数据库内容。
我想以编程方式在 Oracle 中创建一个序列。 我见过许多使用原始查询创建序列的解决方案,但我想从代码中创建一个序列。使用 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-auto
configurations here 的更多信息。
【讨论】:
以上是关于使用 JPA 以编程方式在 Oracle 中创建序列的主要内容,如果未能解决你的问题,请参考以下文章
使用 CoreAudio 以编程方式在 Swift 中创建聚合音频设备
使用 KnitR 以编程方式在 R 中创建 Markdown 表