2012-06-13 5 views
0

У меня есть простой вопрос, для которого я не мог найти ответы в Интернете. Какая из следующих моделей доменов более эффективна:Grails, ссылающийся на объекты в домене Модель

class Text { 

    User author 

    static constraints = {} 
} 

class Text { 

    String author 

    static constraints = {} 
} 

Пользовательский объект имеет имя пользователя в виде строки в нем. Но что более эффективно? Чтобы сохранить строку и выполнить поиск объекта или сохранить объект?

ответ

0

Первый вариант даст более точные результаты, в то время как вы будете использовать критерий запрос, и он будет эффективен также его более легким для виртуальной машины Java для сравнения объекта хэша, а затем сравнивая строки в то время как запрос

0

Ну, если вы используете объект, который имеет тенденцию облегчать вашу жизнь, особенно если ваше приложение растет. Но если не будет шанса, что это приложение будет расти, нет смысла использовать объект только с автором String в нем (это будет только еще один уровень косвенности без какой-либо цели). Для повышения производительности использование Пользователя лучше, поскольку по умолчанию в ассоциациях «один к одному» используется lazy loading, а объект «Пользователь» не загружается при загрузке объекта «Текст», поэтому у вас есть только Пользователь, когда вы его запрашиваете. Кроме того, это лучше ООП. Если вы говорите о производительности для запроса авторов в этих доменах, это одно и то же.

Смежные вопросы