我正在尝试从文本字段到Controller的ajax调用中实现以下目标:
Arabic
中包含的那些电动机(满足某些条件)不属于最终结果的一部分我的方法正确吗?什么是失砖? 当然,结果数将是30减去开球结果数;如果总行数恰好是30,那会更好。
通过此调用,我试图减少Motor表中大量行的搜索时间。
Otherdomain
在此先感谢您的提示
答案 0 :(得分:0)
在对HQL进行了更多研究之后,并在@Daniel的评论的帮助下,我最终使用了它,对此我感到非常满意:
def reparaturstatuserledigt = Reparaturstatus.findByStatus('done')
def hqlstring = "SELECT m " + \
"FROM Motor m " + \
"WHERE m.motorennummer LIKE :searchterm AND " +
"m not in (SELECT motor FROM Reparaturdetail rd WHERE rd.motor = m and rd.detailstatus <> :detailstatus)"
def motorlist = Motor.executeQuery(hqlstring, [detailstatus: reparaturstatuserledigt, searchterm:'%'+params.search+'%', max: 30, offset: 0])
response.setContentType("application/json")
render motorlist as JSON
值得注意的是,我使用的是命名参数searchterm
,可防止SQL注入。使用第一种方法,我可能会遇到这种情况。