JPA挿入+ Oracleシーケンスの例
自己参照のための素早いJPA + Oracleのシーケンス例。
1. Oracleデータベース
次のSQLスクリプトを発行して、表とシーケンスを作成します。
CREATE TABLE CUSTOMER( ID NUMBER(10) NOT NULL, NAME VARCHAR2(100) NOT NULL, EMAIL VARCHAR2(100) NOT NULL, CREATED__DATE DATE NOT NULL, CONSTRAINT CUSTOMER__PK PRIMARY KEY (ID) ); CREATE SEQUENCE customer__seq MINVALUE 1 MAXVALUE 9999999999 START WITH 4 INCREMENT BY 1;
2. JPA
Javaでは、JPAアノテーションを次のように追加します。
Customer.java
package com.mkyong.model; import javax.persistence.** ; import java.util.Date; @Entity public class Customer { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "CUST__SEQ") @SequenceGenerator(sequenceName = "customer__seq", allocationSize = 1, name = "CUST__SEQ") Long id; String name; String email; @Column(name = "CREATED__DATE") Date date; //... }
ソースコードをダウンロードする
ダウンロード:
spring-data-jpa-insert-oracle-example.zip
(6 KB)
参考文献
-
https://www.techonthenet.com/oracle/sequences.php
[Oracle/PLSQL:
シーケンス(オートナンバー)]。リンク://spring-boot/spring-boot-spring-data-jpa-oracle-example/[Spring
ブート・スプリング・データJPA Oracleの例]