首页 > 解决方案 > 替代主键列 varchar(max)

问题描述

我有一个 JPA 实体,它有一个字符串@Id,在某些情况下我尝试过,该 id 的长度可能很长(6000 或更多)

 @Id
 @Column(name = "ID")
 @Lob
 private String id;

但是在尝试之后我才知道我无法varchar(max)在 SQL Server 中使用它(我不知道其他数据库)。现在我想要这个问题的解决方案。提前致谢。

标签: javasql-serverspringhibernatejpa

解决方案


您应该以某种方式保证您的 id 是唯一的,但使用简单的字符串字段虽然它很长,但不能保证是唯一的,这就是数据库提供 GUID 的原因。


推荐阅读