Reputation: 643
I use JPA/Hibernate3 MySql
msyql:
+--------+----------+-----------+
| org_id | org_name | parent_id |
+--------+----------+-----------+
| dept1 | dev | -1 |
| dept2 | system | dept1 |
| detp3 | service | dept2 |
+--------+----------+-----------+
java
String sql = "select "
+ " t01.org_id, "
+ " t01.org_name, "
+ " t02.org_name as parent_name "
+ "from s_organization t01 left join s_organization t02 "
+ " on t01.parent_id = t02.org_id ";
List<Object[]> list= em.createNativeQuery(sql).getResultList();
for(Object[] objs : list) {
System.out.println(String.format("org_name:[%8s] parent_name:[%8s]",
objs[1], objs[2]));
}
result:
org_name:[ dev] parent_name:[ dev]
org_name:[ system] parent_name:[ system]
org_name:[ service] parent_name:[ service]
why org_name
is equals to parent_name
?
how to fix it?
I want show organization in my list page, but data is wrong.
Upvotes: 1
Views: 206
Reputation: 1668
Not sure about the behavior but can you just try these,
org_name
. String.format
. and first try to print objs[1]
and objs[2]
and check what is getting printed.Upvotes: 1