问题描述
@sqlresultsetmapping (
name = Barcode.SEARCH_MAP,entities = {
@EntityResult (entityClass = Barcode.class),@EntityResult (entityClass = User.class),@EntityResult (entityClass = LdapAccount.class)
}
)
我的查询
SELECT nbc.*,u.*,l.*
FROM db.barcodes nbc LEFT JOIN reports.user u ON nbc.userid = u.userid
LEFT JOIN reports.ldap_account l ON u.id = l.user_id
WHERE UPPER(u.userid) LIKE UPPER('username')
UNION
SELECT nbc.*,l.*
FROM db.barcodes nbc RIGHT JOIN reports.user u ON nbc.userid = u.userid
RIGHT JOIN reports.ldap_account l ON u.id = l.user_id
WHERE UPPER(l.username) LIKE UPPER('username')
我的代码
Query query = em.createNativeQuery (searchQuery.toString (),Barcode.SEARCH_MAP);
List<Object[]> tmp = (List<Object[]>) query.getResultList ();
for (Object[] o : tmp) {
Barcode nb = (Barcode) o[0];
User user = (User) o[1];
LdapAccount la = (LdapAccount) o[2];
}
如果我在数据库上运行查询,结果是正确的。但是 OpenJPA 没有返回正确的数据。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)