我正在运行Hibernate 3.2.0和MySQL 5.1。在更新MySQL中的group_concat_max_len之后(因为group_concat查询超过了默认值),当执行带有group_concat子句的SQLQuery时,我得到以下异常:在Hibernate 3.2中没有映射LONGVARCHAR
“没有用于JDBC类型的方言映射:-1”
-1是LONGVARCHAR的java.sql.Types值。显然,增加group_concat_max_len值会导致对group_concat的调用返回一个LONGVARCHAR值。这似乎是这个错误的实例:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-3892
我想有这个问题的Hibernate 3.5的修复,但仍然是一个开发版,所以我很犹豫,把它投入生产,并不知道是否会导致我的代码库的其他部分的问题。我也可以使用JDBC查询,但是我必须用SQL语句的每个实例替换为group_concat子句。
其他建议?
+1感谢这一点,我在查询中使用了group_concat,并在所有返回值上使用了addScalar解决了这个问题。 – 2010-09-23 18:03:28
嗨...你有什么想法'为什么'这可以缓解这个问题? – Victor 2011-03-04 21:49:44