日期:2014-05-18  浏览次数:20878 次

hibernate的问题 求指教
用DetachedCriteria 组装查询条件,咋个生成这样的sql语句了捏? 如果没没条件的话还行 ,一加上条件查询,就会出  where y1_....  然后就报错:列名 'y1_' 无效

上个生成的sql语句
select top 14 this_.id as y0_, this_.CODE as y1_, this_.PROJECT_NAME as y2_, this_.PROJECT_STATE as y3_, this_.PROJECT_CLASS as y4_, this_.CUSTOMER_ID as y5_, this_.CUSTOMER_DEPARTMENT_MAIN as y6_, this_.CUSTOMER_DEPARTMENT_HELP as y7_, this_.CUSTOMER_LINKMAN as y8_, this_.CUSTOMER_LINKMAN_PHONE as y9_, this_.CUSTOMER_CODE as y10_, this_.UNIT_PLAN as y11_, this_.UNIT_PLAN_LINKMAN as y12_, this_.UNIT_PLAN_LINKMAN_PHONE as y13_, this_.SUPERVISOR as y14_, this_.SUPERVISOR_LINKMAN as y15_, this_.SUPERVISOR_LINKMAN_PHONE as y16_, this_.PROJECT_CUSTODIAN as y17_, this_.PROJECT_DEPARTMENT as y18_, this_.PROJECT_DEPARTMENT_CUSTODIAN as y19_, this_.PROJECT_MANAGER as y20_, this_.SAFETY_OFFICER as y21_, this_.QUALITY_INSPECTOR as y22_, this_.LIBRARIAN as y23_, this_.BULIDERS as y24_, this_.MATERIALMAN as y25_, this_.TECHONLOGY as y26_, this_.FILE_TRANSFER as y27_, this_.BUILD_STATE as y28_, this_.COMPANYMANAGE_ID as y29_, this_.PROJECT_DATE as y30_, this_.USER_ID as y31_, this_.ACCESSORY_NAME as y32_ from project this_ where (y1_ like ? and y2_ like ?) order by y1_ desc
Hibernate SQL

------解决方案--------------------
看你写的是sql还是hql,数据库字段名和实体的属性名弄混了吧
------解决方案--------------------
引用:
Quote: 引用:

别名不能这样用,要用就这样
select * from (select top 14 this_.id as y0_, this_.CODE as y1_, this_.....PROJECT_NAME as y2_ from project this_ ) this_2 where (y1_ like ? and y2_ like ?) order by y1_ desc