gpt4 book ai didi

hibernate - 在Grails中,如何获取域代理而不是完整记录

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

我正在使用映射到旧数据库的域,该旧数据库广泛使用数据库级用户组来控制对表和列的授予。我需要映射以下简化的关联:

越狱{
整数ID,
字符串名称,
案例案例
}

案件 {
整数ID,
字符串causeNumber,
字符串caseType,
字符串someFlag,
字符串someOtherFlag
}

现在,由于具有表/列权限,我们有一个用户组,该用户组具有选择/插入/更新完整JailBooking表的完整权限,但只能在Case中选择id和causeNumber字段。尝试在JailBooking上设置Case记录时,任何对Case进行读取的尝试都会导致异常,因为要加载Case的查询会调用域中的所有列。要保留JailBooking记录,我们实际上只需要Case中的ID列。

我知道,在延迟获取对象时,通常会返回仅包含域ID字段的未初始化代理。有没有一种方法可以手动获取此或类似的对象,该方法仅尝试访问Case表中的id列,并且对于持久保存JailBooking记录是可接受的?

如果它完全影响了答案,那么我正在使用Grails 2.5.5。

最佳答案

您可以使用jailBookingEntity.caseId来访问ID,而无需初始化代理。您可以在每个相关实体上使用“Id”后缀来获取Id值。

如果需要代理,可以使用Case.load(jailBookingEntity.caseId)

关于hibernate - 在Grails中,如何获取域代理而不是完整记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42170312/

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