JPA挿入+ Oracleシーケンスの例

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)