Тонкости генерации Entity-классов в IDEA

Доброго дня, уважаемые Java-гуру
встретил недавно в коде Entity-класса коллеги

    @Id
    @Column(name = "id")
    public long getId() {
        return id;
    }
удивило, что в данном случае @Id возле метода, а не возле самого поля. при этот в примерах, которые я видел аннотация @Id используется с полем, а не с методом
к примеру тут
   @Id
    @GeneratedValue(generator = "increment")
    @GenericGenerator(name= "increment", strategy= "increment")
    @Column(name = "id", length = 6, nullable = false)
    private long id;
коллега ссылается на авторитет разработчиков IDEA, которые знают как правильно генерировать Entity-классы. мне же все-таки интересен ответ, какой вариант кода лучше/правильнее/красивее. можете поделиться мнением?

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

кстатии, а какая практика более популярна/правильна? Когда по готовой структуре базы данных генерируется набор java entity или же когда разработчики изначально пишут вручную все java entity, а потом spring/hibernate на их основе генерирует структуру базы данных?

Меня сейчас забросают камнями, но...
Аннотируем поля + юзаем lombok, что бы не видеть эту гору сеттеров/геттеров/туСтрингов/хэшКодов/иквалсов :)

ага, а потім в екліпсі коли хтось дивиться твій код то починає жостко плюватись бо нереально знайти всі виклики конкретного сетера або гетера

которые знают как правильно генерировать Entity-классы

Ох уж это правильно. Аннотировать допускается как поля, так и методы. При этом не смешивая. Если что — в Eclipse при генерации в визарде галку ставишь на поля или на методы кидать. Лично я предпочитаю минимальный набор при генерации. Чтобы не копипастить поля в базе и не набирать имена полей. Все аннотации сложнее @Column пишу сам руками.

Это вводит в небольшой ступор. Подобная аннотация относится непосредственно к свойству сущности, она должна быть на своем месте.

Підписатись на коментарі