【发布时间】:2015-10-11 21:58:37
【问题描述】:
我有这个问题:
Query query1 = session.createSQLQuery(
//"select transactions.userId from transactions where transactions.id in (select tickets.transactionId from tickets where tickets.validate=:validate and tickets.auctionId in (select id from auctions where sellShare=:sellShare)) group by transactions.userId")
"select transactions.userId, auctions.id from auctions inner join (tickets inner join transactions on tickets.transactionId = transactions.id) on auctions.id = tickets.auctionId where auctions.sellShare = :sellShare and tickets.validate=:validate")
.addEntity(Test.class).setParameter("sellShare", 1).setParameter("validate", 1);
List<Test> tests = query1.list();
查询返回一个包含 20 个字段的列表,但它们都是相等的。我该如何解决? 我知道查询工作正常,因为在 mysql 中返回正确的字段。
这里是Test的xml映射:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="applica.luxury.frontend.viewmodel.Test">
<id name="id" type="long">
<generator class="native" />
</id>
<property name="userId" />
</class>
</hibernate-mapping>
【问题讨论】:
-
你试过
select disctinct transactions.userId .......吗? -
您是否尝试过使用
Distinct进行相同的查询? stackoverflow.com/questions/263850/… -
不,我没试过,我现在就在做