首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Hibernate -在重复键上自动填充记录ID

Hibernate -在重复键上自动填充记录ID
EN

Stack Overflow用户
提问于 2013-02-28 05:12:51
回答 1查看 211关注 0票数 2

我正在从文本文件(一个招标一个文件)源加载招标清单,我想将其存储在数据库中。我有表address_point,街道,城市和国家,其中address_point是从许多表引用(组织,招标,...)。

当脚本加载数据时,尝试将相同的地址保存在一个事务中,该事务失败并出现错误-重复键。

例如,脚本将添加新的投标,并且投标由新公司拥有。新的招标和新公司有相同的地址,这两个对象被插入到一个交易中,它们都包含相同的地址,城市已经存储在数据库中,所以首先我必须找到这个组织的城市,并将其替换为找到的对象或设置主键,并进行相同的招标。

下一个示例脚本将添加新的招标和新的组织与城市,这不是存储在数据库中一样,我必须检查是否在数据库中的城市。下一步是,我必须比较这两个城市,如果城市相等,则将它们作为一个对象,以避免重复键。

但我有3个以上的地址在一个交易从招标,组织,旅游等点。这两个例子只适用于城市,而不适用于国家、地区……因此,创建一组条件是相当混乱的。

解决这个问题最有效的方法是什么?我已经定义了isEqueal和hashCode,但我读到这些方法只适用于集合。

EN

回答 1

Stack Overflow用户

发布于 2013-02-28 17:00:47

我不认为isEqual和hashCode是您在这里一定要找的,实现Comparable接口可能更合适。

我从你上面的帖子中得到的印象是,你正在创建具有相同值的新对象(尚未附加到hibernate会话),然后尝试保存它们。也许你可以在保存之前识别这些重复的案例,并让你的公司和投标在保存之前引用相同的POJO。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15122516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档