hibernate - 使用 System.currentTimeMillis() 作为休眠表中的主键
问题描述
我正在开发应用程序,我想在表中使用唯一的非空数字作为主键。我不想在这个应用程序中使用自动生成的值。
因此我使用 System.currentTimeMillis(); 作为主键..这是正确的方法吗???
代码看起来像这样
FileData fileData = new FileData();
Long seqnum = System.currentTimeMillis();
fileData.setSeqnum(seqnum);
. setting other fields
.
.
fileRepository.save(fileData);
我担心的是,如果我在服务器上部署代码,很有可能同时两个请求可能会到达服务器,并且服务器为请求创建的两个线程可能会相同seqnum
。
如果我的方法正确与否,有人可以建议我吗?如果不正确,请建议另一种方法?
解决方案
推荐阅读
- postgresql - DBLink 查询即使在完成后也不会终止
- php - 如何修复:SQLSTATE [23000]:完整性约束违规:1452 无法添加或更新子行:外键约束失败
- r - 如何从复选框中的多个选定项目中获取多个图?
- python - 在 Python 中替换时,我们可以引用字典从键中获取值吗?
- java - FragmentPagerAdapter 总是从第一页开始
- javascript - 尝试使用 AJAX 向 MySql 提交表单
- ios - 我应该使用 OutletCollections 设置多个文本字段的委托属性吗?
- android - 加载启动图像后 Unity Android 崩溃
- php - 我如何将带有 cURL 的“已检查”发送到 WikiMapia?
- swift - Watchos 应用程序会在几天后自动卸载