Новая функция для безопасных типов запросов создает метамодель для классов, но почему эти поля не являются окончательными, а не изменчивыми?
public static volatile SingularAttribute<Presentation, String> topic;
Новая функция для безопасных типов запросов создает метамодель для классов, но почему эти поля не являются окончательными, а не изменчивыми?
public static volatile SingularAttribute<Presentation, String> topic;
Поля в классе метамодели не могут быть окончательными, так как должно быть назначено статическое финальное поле:
Это невозможно сделать, потому что значение, которое должно быть присвоено, неизвестно тому, кто создает класс метамодели. Значения назначаются поставщиком при создании EntityManagerFactory.
Следствием этого является то, что атрибуты должны быть изменчивыми, чтобы другие потоки могли видеть значения, назначенные провайдером.