0
如果我把<query..>
放在我的Car.hbm.xml中,我从(Session) HibernateUtil.getSessionFactory().getCurrentSession();
返回的会话为空,如果我从我的xml映射文件中删除查询,那么会话不再为空。 为什么我得到这个错误?我真的被这种问题困住了。休眠命名查询xml映射
我得到这个XML映射:
<hibernate-mapping package="at.opendata.entitys">
<class name="Car" table="Cars">
<id name="id" column="car_Id">
<generator class="increment"/>
</id>
<set name="carDetails" table="Cardetail" cascade="all" lazy="false" fetch="select" >
<key column="car_id" not-null="true"/>
<one-to-many class="CarDetail" />
</set>
<property name="name" not-null="true"/>
<property name="vin" not-null="true"/>
</class>
<query name="dailysales">
<![CDATA[select sum(date_part('minute', age(cd.gone, cd.back))) from Car as c left join c.carDetails as cd where cd.gone is not null and cd.back is not null]]>
</query>
</hibernate-mapping>
而这正是我要调用的命名查询:
Transaction transaction = null;
int amount = 0;
try{
Session session = (Session) HibernateUtil.getSessionFactory().getCurrentSession();
transaction = session.beginTransaction();
amount = (Integer)session.getNamedQuery("dailysales").uniqueResult();
MH ......我已经加入这个方言:<属性名=“方言”> org.hibernate.spatial.dialect.postgis.PostgisDialect 但MH ..在我的sql查询我必须指定哪个对象我然后想要返回。 我有车,我想总结一下所有车的日销售额。 这与一辆车无关..但我没有另一个实体...我不能返回一辆车,然后.. mhh .. – krackmoe 2013-02-18 19:10:28