java - 替代主键列 varchar(max)
问题描述
我有一个 JPA 实体,它有一个字符串@Id
,在某些情况下我尝试过,该 id 的长度可能很长(6000 或更多)
@Id
@Column(name = "ID")
@Lob
private String id;
但是在尝试之后我才知道我无法varchar(max)
在 SQL Server 中使用它(我不知道其他数据库)。现在我想要这个问题的解决方案。提前致谢。
解决方案
您应该以某种方式保证您的 id 是唯一的,但使用简单的字符串字段虽然它很长,但不能保证是唯一的,这就是数据库提供 GUID 的原因。
推荐阅读
- mysql - 用于查找用户每月最大金额的 SQL 查询
- javascript - 以各种比率使价值翻倍的功能
- reactjs - 为什么我的 React Redux TypeScript 应用程序除了 iPhone 6 iOS 12.0.1(它是一个空白屏幕)之外的任何地方都可以工作?
- android - 如何通过传入参数从 AsyncTask 中检索对象列表?
- android - 我应该使用什么 SHA-1 证书指纹来发布构建 apk?
- user-interface - 我的无状态小部件触发了我无法分配的错误消息
- javascript - 我应该一次加载数据库结果还是发出多个请求?
- r - Cbind 未按预期工作时间序列对象 R
- c++ - Opencv 编译无法使用 -lopencv_videoio
- arrays - 如何找到一组特定值在数组中出现的次数?