Например:
@Table(name = "stock", catalog = "mkyong", uniqueConstraints = {
@UniqueConstraint(columnNames = "STOCK_NAME"),
@UniqueConstraint(columnNames = "STOCK_CODE") })
или
@Column(name = "STOCK_NAME", unique = true, nullable = false, length = 20)
Такие ограничения, как «уникальность», «обнуляемость» и даже длина поля, являются основными характеристиками базы данных. Зачем включать это здесь? Кроме того (хотя это может повредить некоторым), я также готов поспорить, что реализация таких ограничений в базе данных, особенно в коммерческих коммерческих БД, таких как Oracle, вероятно, лучше, чем те, что могут предложить разработчики OSS Hibernate.
Разумно ли использовать подобные вещи в Hibernate или лучше размещать ограничения и тому подобное в базе данных? Кажется, что если вы используете эти функции Hibernate, вы фактически рассматриваете базу данных как файловую систему, так какой в этом смысл? Использование это везде, но я еще не нашел документацию, объясняющую, почему вы это делаете.