Отображение полей условно с Hibernate

Как и другие, это должно быть ответом ...

Вы можете использовать автоматические свойства в C # 3 при таргетинге на .NET 2.0 вместе с еще несколько других функций C # 3 . В отличие от (например) деревьев выражений, автоматическим свойствам не требуется ничего особенного из CLR или фреймворка, помимо атрибута [CompilerGenerated] (который был введен в .NET 2.0).

Итак, если вы используя VS2008 или VS2010, тогда было бы полезно использовать автоматическое свойство.

Для чего это стоит, я бы тоже хотел эту способность. Я хотел бы иметь возможность переменные области видимости в свойстве:

 public string Name
 {
     private string name;
     get { return name; }
     set { name = value; }
 }

Я рассматриваю это как похожее на то, чтобы сделать частную переменную readonly - это не имеет никакого отношения к клиентам, но это помогает обеспечить правильность внутри сам код класса.

0
задан Caleb Whittington 18 March 2019 в 23:29
поделиться

1 ответ

Загрузка коллекций может быть сделана

  1. путем активного извлечения @OneToMany (fetch = FetchType.EAGER). Если атрибут извлечения не указан, тип извлечения по умолчанию - LAZY. В вашем случае тип fetch не является причиной этого.
  2. , получив доступ к коллекции ингредиентов внутри сессии, hibernate инициализирует / загружает ее, используя select from DB. Это может произойти при выполнении итерации коллекции или при вызове food.getIngredients().size(), food.getIngredients().isEmpty() или других методов.

Я предполагаю, что некоторый код обращается к коллекции, и это вызывает ее.

0
ответ дан Peter Šály 18 March 2019 в 23:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: