Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 休眠重复值_Java_Hibernate_Jpa_Orm_Hql - Fatal编程技术网

Java 休眠重复值

Java 休眠重复值,java,hibernate,jpa,orm,hql,Java,Hibernate,Jpa,Orm,Hql,我正在学习Hibernate,遇到了一些小问题 我有一个类项,映射到具有相同列的DB上: @Entity class Item { private long id; private long hash; private String name; // ... constructors/getters/setters ... } 在程序初始化时生成的哈希(CRC、Adler、nevermind)。出于某种原因,它们可以复制 问题是:如何获取Map,关键是hash吗

我正在学习Hibernate,遇到了一些小问题

我有一个类项,映射到具有相同列的DB上:

@Entity
class Item {
    private long id;
    private long hash;
    private String name;
    // ... constructors/getters/setters ...
}
在程序初始化时生成的哈希(CRC、Adler、nevermind)。出于某种原因,它们可以复制


问题是:如何获取Map,关键是hash吗?

在本例中,您需要hash列做什么

  • 数据库Id是uniqe,您可以像哈希一样使用它,也可以从中生成哈希
  • 您应该使用identity@id指定id
  • 您应该正确重写equals()、hash()函数

  • 获取行…自己构建地图…@DanglingPiyush它不存在任何自动解决方案?谢谢你的回答。哈希用于确定相同的项并将它们收集到列表中。映射用于通过哈希收集此列表。此外,在getter上添加的所有注释。关于equals()和hash()方法-thaks,看看它们。确切地说,您不需要在实体中添加hash属性。因此,存在Object.hash()函数。对于JPA实体,应该使用ovveriden usinf数据库ID。并非所有映射实现都使用哈希。HashMap当然有。请看这里: