JPA Insert + Oracle Sequencesの例
自己参照用の簡単な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.example.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)