日期:2014-05-18  浏览次数:20585 次

hibernate 怎么根据一个表的其他字段决定与哪个表一对多
比如说我有一个表tableA 有一个字段name 我需要根据name储存的内容的不同 来决定跟哪个表来一对多!应该如何实现 ?最好有例子

------解决方案--------------------
这个似乎可以用判断语句来实现 假设你的tableA表对应Obj_tableA这个实体类
Java code

Query query=session.createQuery("select name from Obj_tableA");
List list=query.list();
Iterator iterator=list.iterator();
while(iterator.hasNext()){
     Obj_tableA A=(Obj_tableA)iterator.next();
     if(A.getName.equals("你表中的内容")){
         //你要和那个表一对多就可以在这个加入语句了
     }
     //else if
}

------解决方案--------------------
对象的对应关系是在映射文件里配置的吧,你要根据表里的数据更改配置文件中的对应关系?
------解决方案--------------------
好像达不到LZ所说的功能,首先要一个表中的一个字段与其他表对应,是在配置文件中写好的,一次只能表达一种对应关系.