如何从hibernate会话获取特定类型的所有实体

如何从hibernate会话获取特定类型的所有实体,hibernate,session,Hibernate,Session,我正在使用OpenSessionInView模式进行hibernate会话 问题:在City表中,我想确保没有重复条目。我从文件中读取城市数据,并在单个会话中使用saveOrUpdate()/Save()将数据保存到表中。该文件可以有重复的城市名称 City表的主键是ID。在创建新的City实体之前,我执行一个查询(条件)来检查表中是否有一个名称为的城市。即使创建了新的城市实体对象并准备保存在datadabe中,此查询也始终返回null。这是因为实体尚未刷新(它发生在会话关闭时) 所以我在表中有

我正在使用OpenSessionInView模式进行hibernate会话

问题:在City表中,我想确保没有重复条目。我从文件中读取城市数据,并在单个会话中使用saveOrUpdate()/Save()将数据保存到表中。该文件可以有重复的城市名称

City表的主键是ID。在创建新的City实体之前,我执行一个查询(条件)来检查表中是否有一个名称为的城市。即使创建了新的城市实体对象并准备保存在datadabe中,此查询也始终返回null。这是因为实体尚未刷新(它发生在会话关闭时)

所以我在表中有重复的城市名称

我确实看到会话(刷新前)保存了我创建的所有城市实体。所以我想从会话中获取所有城市对象。我知道我可以使用session.get(City.class,ID)获得一个,但这不是我想要的。因为我不知道ID。我知道描述符(我不能使用它,因为它应该是可序列化的ID)