【发布时间】:2020-11-23 03:55:02
【问题描述】:
我需要帮助。我正在使用 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";
}
【问题讨论】:
-
为什么要对已经映射的对象执行原始 SQL 查询?为什么没有动态查找器、标准或 HQL?
标签: hibernate grails groovy hql nhibernate-mapping