LoginSignup
3
2

More than 3 years have passed since last update.

主キーをUUIDで登録する方法(Spring Boot + Spring Data JPA)

Posted at

1. IdentityGeneratorを継承したクラスを作成

UuidGenerator.java
package com.sample;

public class UuidGenerator extends IdentityGenerator{
    @Override
    public Serializable generate(SharedSessionContractImplementor session, Object obj) {
        // UUIDを生成し返却する
        return UUID.randomUUID().toString();
    }
}

2. Entityクラスの主キーにアノテーション設定

User.java
@Entity
@Table(name = "users")
public class User {
    @Id
    // nameは任意、strategyにはパッケージを含むIdentityGeneratorクラスを指定
    @GenericGenerator(name = "UuidGenerator", strategy = "com.sample.UuidGenerator") 
    // generatorには@GenericGeneratorのnameを指定
    @GeneratedValue(generator = "UuidGenerator") 
    @Column(name = "user_id")
    private String id;

   // 以下省略
}
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2