如何在grails中加入Hibernate上的2表?

问题描述

我需要帮助。我想问一下关于Hibernate HQL的问题。我想将2个表合并为1个结果。

我的控制器

TRANSACTION.executeQuery("from TRANSACTION join SUBSCRIBER on TRANSACTION.subscriberID = SUBSCRIBER.msisdn where TRANSACTION.date = '2020-09-04'"

结果:意外令牌:开启

当我像这样的源代码一样更改代码This link

TRANSACTION .executeQuery("from TRANSACTION t1,SUBSCRIBER t2 where t1.subscriberID = t2.msisdn and TRANSACTION.date = '2020-09-04'")

结果:“字段列表”中的未知列“ subscriber0_.pos”

我的数据库映射

class Transaction implements Validateable{
String id
String subscriberID
String currentBalance 
String date

static mapping = {
    datasource 'trx'
    table 'TRANSACTION'
    id generator: 'assigned',column: "ID"
    subscriberID column: "subscriberID"  <-- this value is equals to msisdn at Subscriber
    currentBalance column: "currentBalance"
    date column: "date" 
    version false
}

class Subscriber implements Validateable{

String id   
String msisdn
String firstName

static mapping = {
    datasource 'subs'
    table 'SUBSCRIBER'
    
    id column:"subscriberID"        
    msisdn column:"msisdn"      
    firstName column:"firstName"

    version false
    
}

我想这样加入他们

|名字| SubscriberID | currentBalance |日期|

解决方法

我解决了!

def查询=“从table1 t1,table2 t2中选择table1.subscriberID,table2.msisdn,其中t1.id = t2.id” query = table1.executeQuery(query);