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の例]