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里面的Set<Attachment>attachments被hibernate弄到mysql数据库中就变成了错误的sql语句。
只能去掉select new Topic, 直接写成 from Topic。
谁知道怎么解决这个问题请告诉我。