0

休止状態を使用して、データベースの複数のテーブルからデータを返そうとしています。クエリは SQL サーバーでは正常に動作しますが、休止状態では動作しないようです。

Query threadQuery = session.createSQLQuery("SELECT CONCAT(t.lastposter) as lastposter, t.lastpost, t.title, t.threadid, t.lastpostid, t.firstpostid, t.forumid, p.pagetext FROM vbulletin.thread AS t INNER JOIN vbulletin.post AS p ON p.postid = t.firstpostid WHERE t.open != 10 AND t.visible = 1 AND t.forumid != 19 AND t.forumid != 20 ORDER BY t.lastpost DESC").setResultTransformer(Transformers.aliasToBean(VbulletinThread.class));

例外

org.hibernate.MappingException: No Dialect mapping for JDBC type: -1

注: クエリから p.pagetext を削除すると正常に動作します。

4

1 に答える 1

0

私は問題が何であるかを理解しました。私が2つのテーブルを使用していたという事実とは何の関係もありませんでした。

問題は、SQL クエリで対応するフィールドの値をキャストして機能させる必要があることでした。

だから基本的に:

CAST(p.pagetext as char(255)) as pagetext
于 2013-03-15T10:59:08.307 に答える