Тонкости генерации 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-классы. мне же все-таки интересен ответ, какой вариант кода лучше/правильнее/красивее. можете поделиться мнением?
6 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівкстатии, а какая практика более популярна/правильна? Когда по готовой структуре базы данных генерируется набор java entity или же когда разработчики изначально пишут вручную все java entity, а потом spring/hibernate на их основе генерирует структуру базы данных?
Меня сейчас забросают камнями, но...
Аннотируем поля + юзаем lombok, что бы не видеть эту гору сеттеров/геттеров/туСтрингов/хэшКодов/иквалсов :)
ага, а потім в екліпсі коли хтось дивиться твій код то починає жостко плюватись бо нереально знайти всі виклики конкретного сетера або гетера
Ох уж это правильно. Аннотировать допускается как поля, так и методы. При этом не смешивая. Если что — в Eclipse при генерации в визарде галку ставишь на поля или на методы кидать. Лично я предпочитаю минимальный набор при генерации. Чтобы не копипастить поля в базе и не набирать имена полей. Все аннотации сложнее @Column пишу сам руками.
Это вводит в небольшой ступор. Подобная аннотация относится непосредственно к свойству сущности, она должна быть на своем месте.