불행히도 매핑되지 않은 테이블에서 튜플을 반환하기 위해 내 프로젝트의 일부분에 'native'SQL 쿼리를 사용해야합니다.SQL 쿼리에서 튜플 결과의 인덱스를 건너 뛰는 방법
나는 행 당 같은 수의 값을 반환해야하고 처리 방법으로 가서 객체로 변환해야하는 쿼리가 있습니다.
예 :
List<Object[]> list = ...;
List<MyBean> beans = ...;
SQLQuery qry1 = session.createSQLQuery(...);
SQLQuery qry2 = session.createSQLQuery(...);
SQLQuery qry3 = session.createSQLQuery(...);
list.addAll(qry1.list());
list.addAll(qry2.list());
list.addAll(qry3.list());
for(Object[] tuple : list)
{
MyBean bean = new MyBean();
bean.setSomething0(tuple[0]);
bean.setSomething1(tuple[1]);
bean.setSomething2(tuple[2]);
bean.setSomething3(tuple[3]);
beans.add(bean);
}
지금, 내 문제가 qry3
는 튜플의 2 인덱스의 값을 채울 수와 관계있는 열이 없다는 것입니다,하지만 3 인덱스를 채울 않습니다. 그것은 튜플을 null
또는 ""
어떻게 든 채 웁니다 쿼리를 수정해야합니다.
나는 "select a, b, null, d"
시도하고 "select a, b, '', d"
그러나이 두 가지 예외의 원인 :
org.hibernate.MappingException: No Dialect mapping for JDBC type: 1111
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:370)
at org.hibernate.loader.custom.CustomLoader$Metadata.getHibernateType(CustomLoader.java:559)
at org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.performDiscovery(CustomLoader.java:485)
at org.hibernate.loader.custom.CustomLoader.autoDiscoverTypes(CustomLoader.java:501)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1796)
at org.hibernate.loader.Loader.doQuery(Loader.java:674)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2213)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
그래서 내가 어떻게이 경우 인덱스를 건너 내 쿼리를 알 수 있습니까를?
완벽한 감사. – pstanton