Встречается на собеседованиях • сегодня

Можно ли сделать ограничение столбца для использования только ненулевых типов в БД

В Java при работе с БД можно обеспечить ограничение на ненулевые значения через аннотации JPA/Hibernate или на уровне самой БД.

1. JPA/Hibernate:

java
@Entity
public class Product {
    @Id
    private Long id;

    @Column(nullable = false)  // Запрещает NULL в столбце
    private String name;
}

nullable = false гарантирует, что поле не может быть null (при сохранении выбросит исключение).

2. SQL (DDL):

sql
CREATE TABLE products (
    id BIGINT PRIMARY KEY,
    name VARCHAR(255) NOT NULL  // Ограничение NOT NULL
);

Нюансы:

  • В Java примитивы (int, long и т.д.) не могут быть null, но их объектные аналоги (Integer, Long) — могут.
  • @Column(nullable = false) работает только при генерации схемы через Hibernate. Для существующей БД нужно явно указывать NOT NULL в SQL.
  • Проверка происходит на стороне БД, даже если приложение пропустит null.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы