繁体   English   中英

在域模型中引用对象的Grails

[英]Grails Referencing Objects in Domain Model

我有一个简单的问题,无法在网络上找到答案。 以下哪个域模型更有效:

class Text {

    User author

    static constraints = {}
}

class Text {

    String author

    static constraints = {}
}

用户对象中的用户名为字符串。 但是哪个更有效? 要保存字符串并搜索对象还是要保存对象?

当您使用标准查询时,第一个选项将提供更准确的结果,并且效率也很高,JVM比较对象哈希码而不是查询时比较String更加容易

好吧,如果您使用一个对象,它往往会使您的生活更轻松,特别是如果您的应用程序不断增长。 但是,如果这个应用程序没有增长的机会,则没有理由只使用其中包含String作者的对象(那将是没有任何目的的另一种间接访问级别)。 为了提高性能,使用User更好,因为默认情况下它在一对一关联中使用延迟加载 ,并且在加载Text对象时不会加载User对象,因此仅在需要时才有User。 除了更好的OOP。 如果您在谈论查询这些域中的作者的性能,那是同一回事。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM