【发布时间】:2011-09-05 00:44:59
【问题描述】:
我在通过 JPA 使用 sql 本机查询选择一些数据时遇到了一些麻烦。那是因为我有 3 列同名“descricao”。
当我通过 EntityManager 接口的 createNativeQuery 方法执行选择操作时,找到的第一列值会覆盖其他列值。
(例如,给定记录的第一列描述的值是“foo”,第二个“bar”和第三个“foobar”,当我在一个对象数组中得到这个结果时(因为我没有ORM 映射了实体),任何地方都应该用给定的列的第二个和第三个值来填充 descicao 用第一个的值填充)
我很确定这是因为我使用过 JPA,一旦直接在数据库上选择会正确返回所有内容。
环境:
MySQL5; EJB 3.0; JPA 1.0; JBoss 5.0.0GA; JDK 1.6;
SQL 查询:
"select p.id, p.datapedido, b.descricao, prd.descricao, s.nome,
usuario.email, cc.chave_cupom, prd.nome,
ca.descricao, i.produto_id, i.valoritem,
hc.valor_utilizado, tp.datapagamento
..."
【问题讨论】: