Spring Data JPAでTextタイプの値を取り扱う
長文なテキストデータをJPAで管理したい場合、どのようなテーブルの指定をすればよいのか、ちょっと答えを見つけるのに時間がかかったので備忘録兼共有として投稿。
単純に調べ方が悪かっただけだと思うが、一応。
@Lob アノテーションを用いる
@Entity
@Data
public class Content {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@Lob
private String content;
}
Lob (javax.persistence-api 2.2 API)
@Column(columnDefinition = "TEXT") を用いる
@Entity
@Data
public class Content {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;
@Column(columnDefinition = "TEXT")
private String content;
}
既に @Column
アノテーションを付与しているのであれば、 @Lob
アノテーションなんか付与せず、 @Column
アノテーションの columnDefinition
で済ませるのがスマートかと思います。
Category