Hibernate-getResultList()返回乘以的第一行。春天
这是我的课程Hibernate-getResultList()返回乘以的第一行。春天,hibernate,Hibernate,这是我的课程 String query = "from Authority"; session = sessionFactory.openSession(); List<Authority> authorities= session.createQuery(query).getResultList(); session.close(); for(Authority a: authorities){ System.out.pri
String query = "from Authority";
session = sessionFactory.openSession();
List<Authority> authorities= session.createQuery(query).getResultList();
session.close();
for(Authority a: authorities){
System.out.println(a.getEmail());
}
当我想显示我的结果时,我会在每次“for”迭代中得到第一行。
你知道为什么会这样吗
假设我的数据库中有如下行:
email1@server.com ROLE_USER
email2@server.com ROLE_USER
email3@server.com ROLE_USER
email4@server.com ROLE_USER
因此,对于is:
email1@server.com
email1@server.com
email1@server.com
email1@server.com
映射中存在几个问题 第一个问题是authorities表中的authority列不是主键。用Id注释标记它是不正确的,这会混淆hibernate 第二个也是主要的问题是,根据您的模型,每个用户可能有多个权限,但您的数据表明,每个权限可能与许多用户相关。权限表似乎为用户和权限实体之间的多对多关系建模,而映射试图将其纳入一对多关系
email1@server.com ROLE_USER
email2@server.com ROLE_USER
email3@server.com ROLE_USER
email4@server.com ROLE_USER
email1@server.com
email1@server.com
email1@server.com
email1@server.com