0

我有一张有几列的桌子。主键是id,自动生成的。

考虑这段代码,它可以多次执行:

  session.save(x);

该对象x具有相同的内容,假设我们运行程序两次而没有任何更改。结果,该对象在表中以不同id的 s 出现两次。

如何修改此代码以避免重复插入?

我考虑session.get过使用 ,但这需要id.

x我还考虑从除之外的所有字段设置标准id,但这很麻烦:有一天我会添加另一列而忘记将其添加到标准中。有没有好的解决方案?

4

1 回答 1

1

如果你做一个

YourObject cachedX = (YourObject)session.merge(x);

cachedX 现在将具有生成的 ID。显然,您必须保留它,并且您很可能仍需要提出重复规则。

于 2013-02-20T21:26:23.713 回答