gpt4 book ai didi

hibernate - Grails如何在g:each中显示HQL JOIN值

转载 作者:行者123 更新时间:2023-12-02 15:15:29 24 4
gpt4 key购买 nike

我想问一下如何在查看页面上显示此代码结果
Controller

query =" select subs.firstName, trx.currentBalance from Transaction trx, Subscriber subs where 
trx.subscriberID = subs.msisdn and trx.subscriberID = '0' and trx.date ='2020-09-04'"
query= Transaction.executeQuery(query);

使用此代码:
查看页面
<g:each in="${listQueryTable}" status="i" var="userInstance">
<tr>
<td>${userInstance.firstName}</td> <-- this code does not work for me
<td>${userInstance.currentBalance}</td> <-- this code does not work for me
</tr>
</g:each>

最佳答案

在 Controller 中使用像您一样的HQL查询,您可以在GSP中使用如下所示的指标显示其值:

<g:each in="${listQueryTable}" status="i" var="userInstance">
<tr>
<td>${userInstance[0]}</td>
<td>${userInstance[1]}</td>
</tr>
</g:each>
因为 listQueryTable的每个元素都是一个 Object[]
作为一种变体,您可以将每个列表的元素变成 map ,如下所示:
query =" select subs.firstName, trx.currentBalance, ..."
listQueryTable = Transaction.executeQuery(query).collect{ [ firstName:it[0], currentBalance:it[1], ... ] }
那么您可以使用原始的GSP进行展示。
正确的解决方案是摆脱原始的HQL查询,并使用Hibernate / GORM手段为View建立模型。您必须在域类之间添加引用,并使用动态查找器或条件查询。

关于hibernate - Grails如何在g:each中显示HQL JOIN值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63789346/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com