hibernate - 从 Hibernate Grails 中选择数据库
问题描述
我需要帮助。我正在使用 HQL,但我卡在这段代码中,我不知道如何解决它。
def deposit = Deposit.executeQuery("select terminalID,deposit,created_at from Deposit")
我得到了这样的正确结果
[[1, 1000, 2020-07-29 13:29:28.0], [0, 1, 2020-07-29 13:42:11.0], [2, 1000, 2020-07-29 13:50:08.0], [0, 1, 2020-07-29 14:03:07.0]]
但在查看页面中,由于没有此类属性,我无法调用 terminalID、deposit、created_at
如果我使用
def deposit = Deposit.executeQuery("from Deposit")
我得到了这样的错误结果 [com.dm.Bank.Deposit : ID]
[com.dm.Bank.Deposit : 2, com.dm.Bank.Deposit : 2, com.dm.Bank.Deposit : 3, com.dm.Bank.Deposit : 2]
存款结果不同_
数据库:
class Deposit implements Validateable{
String number
String id
String terminalID
String startDate
String endDate
String currency
String startBalance
String transactionDate
String branchCode
String transactionType
String transactionAmount
String currentBalance
String deposit
String transactionName
String trailer
String corporateId
String accountNumber
String created_at
String company
static mapping = {
datasource 'DBTarget'
table 'HISTORY_MUTASI'
number column: "Number"
id generator: 'assigned', column: "ID"
terminalID column: "TerminalID"
startDate column: "StartDate"
endDate column: "EndDate"
currency column: "Currency"
startBalance column: "StartBalance"
transactionDate column: "TransactionDate"
branchCode column: "BranchCode"
transactionType column: "TransactionType"
transactionAmount column: "TransactionAmount"
currentBalance column: "CurrentBalance"
deposit column: "Deposit"
transactionName column: "TransactionName"
trailer column: "Trailer"
corporateId column: "CorporateId"
accountNumber column: "AccountNumber"
created_at column: "created_at"
company column: "Company"
version false
}
static constraints = {
number unique:true,generator:"increment";
}
解决方案
恕我直言,了解executeQuery
退货方式非常重要。
executeQuery 方法允许执行任意 HQL 查询。当查询选择单个字段或计算值时,HQL 查询可以返回域类实例或指定数据的数组。阅读 Grails 文档中的更多executeQuery。
正如我所看到的结果格式,您必须使用基于索引的操作。
例如,我们可以在如下视图中显示结果。
<g:each in="${deposit}" var="entry">
<p>TerminalID: ${entry[0]} with the deposit ${entry[1]} issued at ${entry[2]}</p>
</g:each>
推荐阅读
- python - Keras - NN 预测计量测量中的误差。
- android - Android TV Leanback 应用程序作为默认启动器
- javascript - 使用 JavaScript 每 60 秒自动刷新一次页面
- node.js - 在节点 js 中创建读取流以获取 favicon.ico 而不是文件
- mysql - Excel Mac 2016,在 VBA 函数中调用时 ListObject 不起作用
- ruby-on-rails - IOSCertEnrollment 是 iOS SCEP 的 ruby gem,如何在 localhost 上运行它?
- fortran - 在 Fortran 中保存 PPM
- c# - 在 IOS 设备上发布会在 Xamarin 中出现 http 异常
- sql - ms-access-2010 返回 #func[感叹号]
- r - R重命名数据框列表中的列