使用java scala删除后删除商店ID

时间:2014-07-09 16:07:22

标签: scala lift

我有一个包含id,名称,描述和唯一随机ID的表,我需要在用户删除记录后存储唯一ID(非主键)。这是因为删除的唯一ID不应该在以后分配给新记录。下面是我生成唯一ID的代码,如何在删除后将它们存储在数组中,以及如何根据存储的ID检查新ID,以便不再重新分配。

def uniqueRandomKey(chars: String, length: Int, uniqueFunc: String=>Boolean) : String =
{
val newKey = (1 to length).map(
x =>
{
 val index = Random.nextInt(chars.length)
 chars(index)
}
).mkString("")

if (uniqueFunc(newKey))
newKey
else
uniqueRandomKey(chars, length, uniqueFunc)
}
def isUnique(s:String):Boolean = true
val chars = ('A' to 'Z')
val key = uniqueRandomKey(chars.mkString(""), 4, isUnique)

1 个答案:

答案 0 :(得分:0)

您可以更改架构吗?如果是这样,添加一个DELETED列,永远不会删除行。

然后,您可以查找新记录的唯一ID以检查它是否与已删除的记录不同,或者在您尝试使用该列时使用列上的唯一约束来获取错误。

你可能不希望它们只是一个内存中的数组,因为大概是需要检查已删除的id不会被重用(例如)服务器重启。

如果您无法更改表定义但可以添加另一个表,请创建一个DELETED_ITEMS表,在删除之前将删除的记录复制到该表中,然后在此表中查找建议的新记录的ID以检查它们是否存在

之前使用过