gpt4 book ai didi

hibernate - Hibernate查询(比较总和)-跨两个不同数据源的grails

转载 作者:行者123 更新时间:2023-12-02 14:54:41 26 4
gpt4 key购买 nike

我有此代码,并且工作正常。我只是想问问是否也可以像在子查询中比较sum一样使用executeQuery,我认为使用executeQuery进行查询的过程将比现有代码快。这是我的代码:

    def availableSched = []
def tres = TestRoomExamSchedule.getAll()
tres.each { t ->
def stres = StudentTestRoomExamSchedule.countByTestRoomExamSchedule(t)
if (stres < t.testRoom.totalTestStations && t.examSchedule.actualExamDateTime <= new Date()) {
availableSched.add(t)
}
}
return availableSched

这将返回一个满足以下条件的TestRoomExamSchedule列表:
1)TestRoom.totalTestStations是> Student,位于StudentTestRoomExamSchedule中。
2)ExamSchedule.actualExamDateTime现在为<=。

我有这些域类:
class TestRoom {

String code
String name
int totalTestStations

static constraints = {
}

static mapping = {
datasource 'admin'
table 'testroom'
code column: 'code'
name column: 'name'
totalTestStations column: 'totaltestmach', sqlType: "smallint"
}

TestRoomExamSchedule域类
class TestRoomExamSchedule implements Serializable{

Long testRoomId
ExamSchedule examSchedule
TestRoom testRoom

static transients = ['testRoom']

static constraints = {
}

static mapping = {
table 'testroom_examschedule'
version false
id generator: 'assigned', composite: ['testingCenterId','examSchedule']
testRoomId column: 'testingcenter_id'
examSchedule column: 'examschedule_id'

}

StudentTestRoomExamSchedule域类
class StudentTestRoomExamSchedule implements Serializable {

Student student
TestRoomExamSchedule testRoomExamSchedule

static constraints = {
}

static mapping = {
table 'person_examschedule'
version: false
id composite: ['student', 'testRoomExamSchedule']
student column: 'person_id'
columns {
testingCenterExamSchedule {
column name: 'testroom_id'
column name: 'examschedule_id'
}
}
}

我正在使用两个不同的数据源,这就是为什么我需要在域类TestRoomExamSchedule中以 transient 声明属性testRoom的原因。
提前致谢。

最佳答案

如果您使用两个不同的数据源,则可能是不可能的。

我只能想像几个非常狭窄的情况,在单个查询中可以进行数据库间操作。

关于hibernate - Hibernate查询(比较总和)-跨两个不同数据源的grails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11715301/

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