No Dialect mapping for JDBC type: 3

No Dialect mapping for JDBC type: 3

 

public class LabourCostStatImpl {

 

public List getList(){

       Session session = HibernateSessionFactory.getSession();

       String sql="select c.mark, s.towerId, p.daysalary, c.workNum , c.planAttributeId  ,s.powerLevelId from person p,persondaycutplan c,PersonDayCutPlanEquipmentSdgq s  where  c.writerid=p.id and c.id=s.planId ";

       Query query=session.createSQLQuery(sql);

       @SuppressWarnings("unused")

       List list =null;

       if(query!=null){

           list =query.list();

       }

       return list;

    }

   

    }

}

 

 

package test;

 

import java.util.ArrayList;

import java.util.HashSet;

import java.util.Iterator;

import java.util.List;

import java.util.Set;

 

import com.dartfar.sdxl.dao.impl.LabourCostStatImpl;

import com.jxgl.data.dao.exception.DAOException;

 

public class test4 {

 

    /**

     * @param args

     * @throws DAOException

     */

    @SuppressWarnings("unchecked")

    public static void main(String[] args) throws DAOException {

       // TODO Auto-generated method stub

       LabourCostStatImpl labour = new LabourCostStatImpl();

       List list =labour.getList();

       System.out.println(list.size());

           }

    }

 

*********rebuildSessionFactory**********

[ 2008 07 15 08:51:40,781] [DEBUG] com.jxgl.data.dao.impl.hibernate.PersonDAOHibernateImpl - 得到指定用户名:null 的用户

Exception in thread "main" org.hibernate.MappingException: No Dialect mapping for JDBC type: 3

    at org.hibernate.dialect.TypeNames.get(TypeNames.java:56)

    at org.hibernate.dialect.TypeNames.get(TypeNames.java:81)

    at org.hibernate.dialect.Dialect.getHibernateTypeName(Dialect.java:192)

    at org.hibernate.loader.custom.CustomLoader.getHibernateType(CustomLoader.java:161)

    at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:131)

    at org.hibernate.loader.Loader.getResultSet(Loader.java:1678)

    at org.hibernate.loader.Loader.doQuery(Loader.java:662)

    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)

    at org.hibernate.loader.Loader.doList(Loader.java:2145)

    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)

    at org.hibernate.loader.Loader.list(Loader.java:2024)

    at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:111)

    at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1655)

    at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)

    at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:164)

    at com.dartfar.sdxl.dao.impl.LabourCostStatImpl.getList(LabourCostStatImpl.java:226)

    at test.test4.main(test4.java:22)

 

if String sql="select c.mark, s.towerId, p.daysalary, c.workNum , c.planAttributeId  ,s.powerLevelId from person p,persondaycutplan c,PersonDayCutPlanEquipmentSdgq s  where  c.writerid=p.id and c.id=s.planId ";则不正确

if String sql="select c.mark from person p,persondaycutplan c,PersonDayCutPlanEquipmentSdgq s  where  c.writerid=p.id and c.id=s.planId "; 则正确

if String sql ="select distinct  towerId id from persondaycutplanEquipmentsdgq where powerlevelId='"+powerlevelId+"'";也正确

 

错误原因:person 表有错误,不知道什么原因,其他表格都可以。

 

      

你可能感兴趣的:(No Dialect mapping for JDBC type: 3)