Exemple JPA Insert Oracle Sequences

Exemple d'insertion JPA + séquence Oracle

Un exemple rapide de séquences JPA + Oracle, pour référence personnelle.

1. Base de données Oracle

Exécutez le script SQL suivant pour créer une table et une séquence.

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

En Java, ajoutez des annotations JPA comme ceci:

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;

    //...
}

Télécharger le code source