这个数据库本身的设计就有问题。如果是set,那么user应该用另外一个数据表来存储才对。 id kind users -------------------- 4 3 8+34+21 5 5 87+123+543 Hibernate说到底也就是生成一个SQL语句。 假设现在有这么个语句:select k.users from kind as k where id = 4 那么获取的结果就是8+34+21 也就是说,你这里只能直接获取users的String,然后作为String来处理。获取到users之后,通过String的方法拆分users,获取到users数组,然后再通过这个users数组来获取多个user对象。这是目前唯一的思路了。还是要说下……这是谁设计的数据库啊!这个结构太诡异了
有两种方法:
1、在kind看来关系是一对多
就是一个kind中又多个user
在kind中添加一个属性Set<User> user;
在kind的配置文件中配置<one-to-many>
2、换个角度在user看来关系是多对一
就是多个user对应一个kind
在user类加上一个属性Kind kindId
在配置文件中配置<many-to-one>
--------------------
4 3 8+34+21
5 5 87+123+543
.
.
.如何映射成kind类啊.使kind类里有user的实体集如:
kind.users
也就是很明显的一对多关系
用set就可以啊
还说我没有看清楚题目
id kind users
--------------------
4 3 8+34+21
5 5 87+123+543
Hibernate说到底也就是生成一个SQL语句。
假设现在有这么个语句:select k.users from kind as k where id = 4
那么获取的结果就是8+34+21
也就是说,你这里只能直接获取users的String,然后作为String来处理。获取到users之后,通过String的方法拆分users,获取到users数组,然后再通过这个users数组来获取多个user对象。这是目前唯一的思路了。还是要说下……这是谁设计的数据库啊!这个结构太诡异了