Какая польза от аннотации @PersistenceCreatorJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Какая польза от аннотации @PersistenceCreator

Сообщение Anonymous »

У меня есть класс User.java, который является моделью коллекции пользователей.
Я хочу сделать в нем несколько полей частными окончательными, но когда я это делаю, появляется ошибка: «Возможно, окончательные поля не были инициализировано", но поскольку я ожидаю, что поля будут инициализированы UserRepository, я не могу инициализировать поля во время объявления.

Я попробовал создать конструктор со всеми полями, и это работает (без использования @PersistenceCreator), а также есть аннотация @PersistenceCreator, использование которой я не знаю, согласно документации она объявляет аннотированный конструктор как конструктор по умолчанию, но дальнейших объяснений нет.
Обратите внимание, что конструктор работает как с аннотацией, так и без нее.

Пожалуйста, объясните:
Для чего используется аннотация @PersistenceCreator.
@Document
public class User {
@Id
private final int id;
@Field("user_name")
private final String userName;
private final String password;
private final boolean active;
private final String roles;
@Field("from_phone_number_id")
private final String fromPhoneNumberId;
@Field("access_token")
private final String accessToken;

@PersistenceCreator
public User(int id, String userName, String password, boolean active, String roles, String fromPhoneNumberId,
String accessToken) {
this.id = id;
this.userName = userName;
this.password = password;
this.active = active;
this.roles = roles;
this.fromPhoneNumberId = fromPhoneNumberId;
this.accessToken = accessToken;
}
}


Подробнее здесь: https://stackoverflow.com/questions/743 ... annotation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»