Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法将多个表中的列合并到单个列表中?_Java_Mysql_Hibernate - Fatal编程技术网

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);