Какая аннотация в Java запрещает изменение значения поля внутри сущности?

В Java для запрета изменения значения поля внутри сущности обычно используют аннотацию @Immutable из библиотеки Hibernate.

Короткий ответ

Что ответить на собеседовании

В Java для запрета изменения значения поля внутри сущности обычно используют аннотацию @Immutable из библиотеки Hibernate. Она указывает, что объект является неизменяемым после создания, и Hibernate не будет пытаться обновлять поля этой сущности.

Подробный разбор

Ответ с пояснениями

В Java для запрета изменения значения поля внутри сущности обычно используют аннотацию @Immutable из библиотеки Hibernate. Она указывает, что объект является неизменяемым после создания, и Hibernate не будет пытаться обновлять поля этой сущности.

Пример:

import org.hibernate.annotations.Immutable;

@Immutable
@Entity
public class MyEntity {
    @Id
    private Long id;

    private String name;

    // геттеры без сеттеров или с приватными сеттерами
}

Если речь не о Hibernate, а просто о Java, то для неизменяемости поля можно использовать ключевое слово final, которое запрещает переназначение поля после инициализации.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее