Java 我得到了异常org.hibernate.MappingException:没有JDBC类型的方言映射:-9

Java 我得到了异常org.hibernate.MappingException:没有JDBC类型的方言映射:-9,java,hibernate,Java,Hibernate,我正在使用hibernate。我编写了一个本机sql查询。 此查询将在sqlSever命令提示符下执行 try { session=HibernateUtil.getInstance().getSession(); transaction=session.beginTransaction(); SQLQuery query = session.createSQLQuery("SELECT AP.PROJECT_NAME, AP.SKILL

我正在使用hibernate。我编写了一个本机sql查询。 此查询将在sqlSever命令提示符下执行

try
    {
        session=HibernateUtil.getInstance().getSession();
        transaction=session.beginTransaction();

        SQLQuery query = session.createSQLQuery("SELECT AP.PROJECT_NAME, AP.SKILLSET, PA.START_DATE, PA.END_DATE, RS.EMPLOYEE_ID, RS.EMPLOYEE_NAME, RS.REPORTING_PM FROM RESOURCE_MASTER RS,SHARED_PROPOSAL S, ACTUAL_PROPOSAL AP, PROJECT_APPROVED PA, PROJECT_ALLOCATION PL WHERE RS.EMPLOYEE_ID = PL.EMPLOYEE_ID AND PA.PROJECT_ID = PL.PROJECT_ID AND PA.SHARED_PROPOSAL_ID = S.SHARED_PROPOSAL_ID AND S.ACTUAL_PROPOSAL_ID=AP.ACTUAL_PROPOSAL_ID");
            List<Object[]> obj=query.list();
            Object[] object=new Object[arrayList.size()];
             for (int i = 0; i < arrayList.size(); i++) {
                 object[i]=arrayList.get(i);
                System.out.println(object[i]);
            }
            arrayList.get(0);
            String name=(String)arrayList.get(0);
            logger.info("In find All searchDeveloper");

    }catch(Exception exception)
    {
        throw new PPAMException("Contact admin","Problem retrieving resource master list",exception);
    }
试试看
{
session=HibernateUtil.getInstance().getSession();
事务=session.beginTransaction();
SQLQuery=session.createSQLQuery("选择AP.PROJECT\u NAME、AP.SKILLSET、PA.START\u DATE、PA.END\u DATE、RS.EMPLOYEE\u ID、RS.EMPLOYEE\u NAME、RS.REPORTING\u PM FROM RESOURCE\u MASTER RS、SHARED\u PROPOSAL S、ACTUAL\u PROPOSAL AP、PROJECT\u APPROVED PA、PROJECT\u ALLOCATION PL,其中RS.EMPLOYEE\u ID=PL.EMPLOYEE\u ID和PA.SHARED\u PROPOSAL\u ID=S.SHARED\u ID和S.A实际方案ID=实际方案ID);
List obj=query.List();
Object[]Object=新对象[arrayList.size()];
对于(int i=0;i
我得到以下异常:org.hibernate.MappingException:没有JDBC类型的方言映射:-9

此查询在SqlServer命令提示符下执行。我映射了七个表。 如果我删除实际的_PROPOSAL AP表,它将正确执行


请帮助我当hibernate方言无法为db列类型找到相应的java数据类型时,会出现此问题。要解决此问题,需要使用
addScalar()
方法指定每个结果项的数据类型

比如说,

sess.createSQLQuery("SELECT ID,NAME,BIRTHDATE FROM CATS")
 .addScalar("ID", Hibernate.LONG) 
  //If u r using newer version of hibernate use new LongType()
  //instead of Hibernate.LONG
 .addScalar("NAME", Hibernate.STRING)
 .addScalar("BIRTHDATE", Hibernate.DATE)

阅读API文档或示例。

就像更新一样。ManuPK是正确的,但Hibernate.String、Hibernate.Date、Hibernate.Long都不推荐使用。请参阅

可能的相关问题:A认为不需要为所有列定义数据类型,只为特殊列定义数据类型。