我在Spring启动项目中使用spring-boot-starter-data-jpa
来处理数据库内容。
我想以编程方式在Oracle中创建一个序列。 我见过许多使用原始查询创建序列的解决方案,但我想从代码中创建一个序列。有什么我可以用JPA做的。
我还想获取此序列号并将其返回给调用者。
提前致谢!!!
答案 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。