select new topic from ' mysql 生成sql语句错误 caused by: com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception: you have an error in your sql syntax; hibernate: select topic0_.id as col_0_0_, topic0_.title as col_1_0_, topic0_.keyword a
select new topic from ' mysql 生成sql语句错误
caused by:
com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception: you have an error in your sql syntax;
hibernate:
select
topic0_.id as col_0_0_,
topic0_.title as col_1_0_,
topic0_.keyword as col_2_0_,
topic0_.status as col_3_0_,
topic0_.recommend as col_4_0_,
topic0_.publishname as col_5_0_,
topic0_.publish_date as col_6_0_,
topic0_.channel_name as col_7_0_,
topic0_.author as col_8_0_,
. as col_9_0_
from
t_topic topic0_
inner join
t_attachment attachment1_
on topic0_.id=attachment1_.topic_id
where
1=1
and topic0_.status=1
and topic0_.channel_id=142 limit ?
select new topic (t.id, t.title, t.keyword, t.status, t.recommend,t.publishname, t.publishdate, t.channel_name,t.author,t.attachments) ;
本来是使用constructor的方法来设置query。
但是遇到这个onetomany的时候,貌似不能这么做。
topic里面的setattachments被hibernate弄到mysql数据库中就变成了错误的sql语句。
只能去掉select new topic, 直接写成 from topic。
谁知道怎么解决这个问题请告诉我。