使用hql语句查询的对象集合没有返回该对象

public List findAll() {
String sql = "from Employee e left outer join e.department";
List list = (List) getSession().createQuery(sql).list();
return list;
}

System.out.println(employeeService.findAll());

打印结果:[[Ljava.lang.Object;@5183d589, [Ljava.lang.Object;@511d5d04]

toString方法重写了也没用。

如:select A.name,B.name from A inner join B on A.id = B.id;
上面语句:查询A B两表 进行左关联,以A表为主,B表为附,也就是说,只要A表有记录,不管B表有没有都要查出来

感觉不对吧,应该循环遍历var employees = employeeService.findAll(); 你这样是打印了返回结果的数组地址,不是其中的内容

重写当然没有起到效果了。
createQuery()方法,应该还有一个重载方法,第二个参数是Class类的,你把你需要的类写在这里,就可以了。

我知道问题出在哪了,我本来想解决懒加载问题,然后使用左外连接,我没有加fetch关键字,导致查出来是Employee和Department的对象集合,并不是Employee的对象集合。
sql语句应该是这样的:String sql = "from Employee e left outer join fetch e.department";