如有必要,使用hibernate更新实体

如有必要,使用hibernate更新实体,hibernate,Hibernate,我有以下情况: 用户上载csv文件。csv文件中的每一行都是一个实体。我解析文件并创建数千个enities,通过hibernate保存在DB中。 现在,用户可以更改csv文件中的3个条目,但可以加载整个文件。这意味着,例如,9.997个条目等于,只有3个条目不同。 通过hibernate更新数据的最佳方式是什么 我希望任何人都能帮助我 thx非常提前, simon如果您有一个唯一的标识符并使用update/merge,那么hibernate将不会创建新记录。不,问题是UID(=主键)是自动创建的

我有以下情况: 用户上载csv文件。csv文件中的每一行都是一个实体。我解析文件并创建数千个enities,通过hibernate保存在DB中。 现在,用户可以更改csv文件中的3个条目,但可以加载整个文件。这意味着,例如,9.997个条目等于,只有3个条目不同。 通过hibernate更新数据的最佳方式是什么

我希望任何人都能帮助我

thx非常提前,
simon

如果您有一个唯一的标识符并使用
update
/
merge
,那么hibernate将不会创建新记录。

不,问题是UID(=主键)是自动创建的,下次我解析文件时,我没有UID,所以我需要一种方法来找出,数据库中的哪个实体属于csv文件中的一行,然后我必须检查这些值是否相等。因此您无法识别记录。然后你就不能这么做了——删除所有内容,然后重新插入。我的想法是将每个实体的哈希代码也保存在数据库中,在解析csv后,我可以通过哈希代码找到每个实体。嗯,这是一个选项。只需在散列上建立一个索引。测量它,因为它可能会更快地拖放和插入。我认为有一个问题,为什么我不应该拖放和插入它,但我现在记不起来了。:-)