我需要为数据库实体的新实例生成唯一名称。
现在,一个似乎很容易成为一个好的解决方案的选项是给出一个类似“未命名实体X - ID”的名称,其中 ID 是实例的 ID。这种方法的问题是我们事先不知道 ID。
另一种选择是保存两次 - 一次使用无效名称,例如“未命名的 EntityX - RANDOM_NUMBER;%;”然后使用名称“未命名的 EntityX - ID”再次保存。
这种方法有两个问题:
第三个选项是使用“Unnamed EntityX - RANDOM_NUMBER”保存,如果重复,则尝试上面的第二个选项。
在这种情况下,最佳做法(或常见做法)是什么?我觉得第二种方法是最好的选择。
详细信息:我正在使用带有 native ID 生成的 grails 2.4.4。
最佳答案
最简单的方法是生成唯一标识符并使用它。
UUID.randomUUID().toString()
关于hibernate - 如何为不重复的数据库实体生成默认名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35092607/