Java 有没有办法将多个表中的列合并到单个列表中?
我使用公共键(即三个表的公共列)从三个不同的表中收集记录,并按、度、度存储在三个列表中Java 有没有办法将多个表中的列合并到单个列表中?,java,mysql,hibernate,Java,Mysql,Hibernate,我使用公共键(即三个表的公共列)从三个不同的表中收集记录,并按、度、度存储在三个列表中 Query query2 = s.createQuery("from StuPersonal where FRID = :dd"); query2.setParameter("dd",jp.getFRID()); per=query2.list(); Query query3 = s.createQuery("from StuDegree where FRID = :dd"); query2.setPara
Query query2 = s.createQuery("from StuPersonal where FRID = :dd");
query2.setParameter("dd",jp.getFRID());
per=query2.list();
Query query3 = s.createQuery("from StuDegree where FRID = :dd");
query2.setParameter("dd",jp.getFRID());
deg=query3.list();
Query query4 = s.createQuery("select city from StuWorkPref where FRID = :dd");
query2.setParameter("dd",jp.getFRID());
swf=query4.list();
现在,我需要将3个列表中的字段(列)合并到一个列表中,并向用户提供输出…有什么方法吗?请给我一些建议
我已宣布名单为
List<StuPersonal> per=new ArrayList();
List<StuDegree> deg=new ArrayList();
List<StuWorkPref> swp=new ArrayList();
List per=new ArrayList();
List deg=新的ArrayList();
List swp=new ArrayList();
试试看
List resList=new ArrayList();
int maxSize=/*获取三个列表的最大大小*/
对于(int i=0;i可以使用addAll方法连接两个ArrayList。它将参数化列表的所有成员添加到调用列表中。
在您的例子中,您将需要一个包含您提到的三个类的超类
List<Superclass> finalList=new ArrayList();
finalList.addAll(per);
finalList.addAll(deg);
finalList.addAll(swp);
List finalList=new ArrayList();
最终添加全部(per);
最终添加值(度);
最终添加(swp);
换言之,您可以将派生类对象存储在基类的ArrayList中。使用这种方法,设计变得更简洁,因为您可以在超类中使用泛型方法,并让派生类重用它们。稍后,您可以为派生类使用过度的方法,以便对单个对象执行特定于类的操作s、 所有列表的大小是否相同?公共列的意思是?为什么不连接?使用Hibernate。只有在表之间存在任何关系时才可能连接。如果没有关系,则不可能连接。我已使用一对多的概念连接表。例如,每个表中都有FRID。peg、deg、swf是对象和get()的列表将返回一个对象,因此不能存储在字符串中。@AshishAggarwal,我知道在编辑问题之后。
List<Superclass> finalList=new ArrayList();
finalList.addAll(per);
finalList.addAll(deg);
finalList.addAll(swp);