[英]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.