当前位置:编程学习 > JAVA >>

cppHibernate对hql(查询属性)取不了数据

查询对象时没有问题的,查询属性有问题,请看代码和异常。
代码如下
CppHibernateQuery query1 = session->createQuery("select id,ioFormatId,stdStatement from HciStandardStatements");
query1.setCacheable(true);
CppHibernateJCollectionObject *wh = query1.list();
CppHibernateJObject *el2 = wh->get(0);
 CppHibernateJLongObject *reswhhStr = dynamic_cast<CppHibernateJLongObject *>(el2->getVal("ioFormatId"));
  printf("%llu\n", reswhhStr->getVal());
报错:
Exception in thread "main" java.lang.ClassNotFoundException: java.lang.Object[]
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:789)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
terminate called after throwing an instance of 'cppHibernate::CppHibernateClassLoaderException'
  what():  error occurred

怎么取数据呢? --------------------编程问答-------------------- query1.list();
这里返回的是 java.lang.Object[], 
这个不太懂 c 语言怎么转 java 啦。

你可以把属性包装成对象, 让list()返回你的自己的包装对象。
参考java:
  hql , "select new mypackag.TmpBean(id,ioFormatId,stdStatement) from HciStandardStatements"

  List<TmpBean>=query1.list();
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,