因为你是select * ,所以返回的是所有字段的值 Hibernate报的异常是说你返回值中有的字段名相同。(也就是说你的三个表中字段名有相同的,比如三个表中都有id字段) 修改成select j.id,j.name,jdo.id ..............