0
無法通過休眠讀取表中的數據。 但在TOAD中工作的SQL相同。休眠 - 無法讀取表中的值
SQL:
SELECT distinct pub.asdfg, pub.list, pub.prod, pub.prod_desc FROM Pubsh pub WHERE pub.prod in ('123456')
表DEF:
org.hibernate.SQL - SELECT distinct pub.nel, pub.list, pub.prod, pub.prod_desc FROM PUBSH WHERE pub.prod in ('12345')
org.hibernate.jdbc.AbstractBatcher - about to open ResultSet (open ResultSets: 0, globally: 0)
org.hibernate.type.StringType - could not read column value from result set; Invalid column name
org.hibernate.jdbc.AbstractBatcher - about to close ResultSet (open ResultSets: 1, globally: 1)
org.hibernate.jdbc.AbstractBatcher - about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
org.hibernate.util.JDBCExceptionReporter - could not execute query [SELECT distinct pub.nel, pub.list, pub.prodr, pub.desc FROM PUBSH WHERE pub.prod in ('12345')]
java.sql.SQLException: Invalid column name
at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3711)
at oracle.jdbc.driver.OracleResultSetImpl.findColumn(OracleResultSetImpl.java:2806)
at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:498)
at weblogic.jdbc.wrapper.ResultSet_oracle_jdbc_driver_OracleResultSetImpl.getString(Unknown Source)
at org.hibernate.type.StringType.get(StringType.java:18)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:189)
at org.hibernate.loader.custom.CustomLoader$ScalarResultColumnProcessor.extract(CustomLoader.java:474)
at org.hibernate.loader.custom.CustomLoader$ResultRowProcessor.buildResultRow(CustomLoader.java:420)
at org.hibernate.loader.custom.CustomLoader.getResultColumnOrRow(CustomLoader.java:317)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:606)
DAO方法來執行休眠::在控制檯
CREATE TABLE "PUBSH"
(
KEY decimal(22) NOT NULL,
PROD varchar2(54) NOT NULL,
PRODKEY decimal(22),
PROD_DESC varchar2(360),
PARTEY decimal(22) NOT NULL,
LIST_TYPE varchar2(90),
PUBLISH_DATE date,
PUBSH_PERIOD varchar2(30) NOT NULL,
PL_KEY decimal(22),
LIST varchar2(750),
EL_KEY decimal(22),
NEL varchar2(60) }
錯誤
public List<SearchResult> find(final String Query1) {
return (List<SearchResult>)getHibernateTemplate().execute(new HibernateCallback(){
public Object doInHibernate(Session session) throws HibernateException{
Query query1 = session.createSQLQuery(channelQuery1)
.addScalar("nel",Hibernate.STRING)
.addScalar("price",Hibernate.STRING)
.addScalar("prodr",Hibernate.STRING)
.addScalar("prodcr",Hibernate.STRING)
.setResultTransformer(Transformers.aliasToBean(SearchResult.class));
return query1.list();
}
請告知爲什麼我在訪問通過休眠時收到無效的列名錯誤?
Query1的值是什麼?還激活SQL查詢日誌,看到休眠正在執行的查詢 – fmodos
查詢1沒有執行,我在執行問題部分中執行休眠和SQL日誌時出錯。 – user2444474
請不要以這種方式從你的問題中刪除內容,因爲它會使答案看起來不相關。在那裏我沒有看到任何遠程「保密」的東西。當您發佈內容時,您同意獲得CC-WIKI許可證。 –