繁体   English   中英

替代主键列 varchar(max)

[英]Alternative to make primary key column varchar(max)

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

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

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

如果 ID 的预期长度较长,则最好使用简单的自增 integer 列作为主键。 这样做的原因是为了避免在该键上使用联接时的处理开销。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM