Я перешел по этой ссылке:
https://vladmihalcea.com/how-to-map-calculated-properties-with-hibernate-generated-annotation/
Вот мой исходный код:
private String firstName;
private String lastName;
private String middleName1;
private String middleName2;
private String middleName3;
private String middleName4;
private String middleName5;
@Generated( value = GenerationTime.ALWAYS )
@Column(columnDefinition =
"AS CONCAT(" +
" COALESCE(firstName, ''), " +
" COALESCE(' ' + middleName1, ''), " +
" COALESCE(' ' + middleName2, ''), " +
" COALESCE(' ' + middleName3, ''), " +
" COALESCE(' ' + middleName4, ''), " +
" COALESCE(' ' + middleName5, ''), " +
" COALESCE(' ' + lastName, '') " +
")")
private String fullName;
Для создания этого поля fullname
используются другие поля string
.
То, что я хочу, это что-то другое.
У меня есть поле идентификатора автоинкремента в классе весенней загрузки:
private long id //or it can be int, does not matter
У меня есть еще одно поле, которое должно быть уникальным и буквенно-цифровым.
private String code;
Это поле будет иметь 6 буквенно-цифровых символов (верхний или нижний регистр не имеет значения).
Можно ли сохранить это поле автоматически при создании нового объекта с помощью такого метода?
Long.toString("id_field_value",36);
На самом деле, это дает:
0 -> 0
1 -> 1
10 -> A
Итак, когда будет создан первый объект, id будет 1.
Есть предложения?