【发布时间】:2014-10-27 21:01:48
【问题描述】:
我需要在数据库中创建礼品卡实体,其中礼品卡代码是由算法生成的,并且它们发生冲突的可能性非常低。
在 DB 中插入礼品卡实体之前,我们需要检查重复礼品卡实体的可能性。
还需要注意以下几点
- 需要生成与管理员要求相同数量的礼品卡实体
- 为了遵循第 1 点,我们需要找到 DB 中已经存在的礼品卡代码,并且需要再次生成代码。
我正在使用 Hibernate 进行数据库操作,并且我有以下选项。
第一个选项
- 创建礼品卡代码列表
- 开始为每个礼品卡代码创建实体并尝试将它们插入 DB。
- 如果我们发现预先存在的礼品卡实体有任何异常,请将该代码存储在废弃代码列表中。
- 对废弃列表再次重复处理
第二个选项
- 生成礼品卡代码列表。
- 在创建礼品卡实体之前检查数据库中的重复代码。
- 对于废弃列表,再次创建礼品卡代码并按照第 2 点操作。
- 为最终列表创建实体并插入数据库
我对哪种方法更可取感到有些困惑?
【问题讨论】:
-
使用数据库触发器来生成代码怎么样?
-
@Kayaman:不,我们想要特定的模式,比如代码的数字长度、字母、数字等
-
这如何阻止您使用触发器?它将在重复代码上运行,创建一个新代码并尝试插入它。
-
@Kayaman : 你能解释一下你在说什么吗,我想,我误解了你的意思:)
-
其实可能不值得。这是可能的,但它可能不会更好或更有效。
标签: java sql hibernate jpa jpa-2.0