我有一张桌子看起来像这样;休眠查询perfomance
@Table
public class Person {
private String name;
private String address;
...
private String score;
}
在我的数据库中,我现在有很多名字,地址和分数的人。比方说,我从另一个系统中检索人员列表,其中一些人已经存在于数据库中,另一些人是新的。
在我将它们保存在我的数据库中之前,我想检查它们是否已经存在(避免重复),并且可能会改变分数,如果我进入的人与我已有的人相同,但分数不同。
如果我想选择所有存在的人,最好的查询是什么? (例如,相同的名称和地址)。我的人员表可以包含大量人员,而我从其他系统获得的人员名单也很大(新的或更新的分数)。我需要一个关于性能的查询:-)。
我正在使用Java和Hibernate。任何人?
编辑:最后的SQL可能看起来像
select * from Person where name='Paul' AND address='road1
OR name='John' AND address='road2'
OR name='Stella' AND address='road3'
和许多许多..上面的SQL ATLEAST解释了我想要的东西。
谢谢您的回复!也许我的问题还不够清楚。这不是两张桌子,只有一张。基本上我得到一个“名单人”。我只想比较我获得的列表中的人员和我的数据库中的人员。 –
KimAMartinsen
2012-02-22 08:45:56
我以为你想实现从其他系统获取新用户的逻辑 – Beatles1692 2012-02-22 09:54:50