Почему Symfony 3.4 / Doctrine 2.6 убирает ограничение UNIQUE для моего поля идентификатора?

В Java, когда оператор «==» используется для сравнения двух объектов, он проверяет, ссылаются ли объекты на одно и то же место в памяти. Другими словами, он проверяет, являются ли имена двух объектов в основном ссылками на одно и то же место в памяти.

Класс Java String фактически переопределяет реализацию equals () по умолчанию в классе Object и переопределяет этот метод, чтобы он проверял только значения строк, а не их местоположения в памяти. Это означает, что если вы вызываете метод equals () для сравнения двух объектов String, то, пока действительная последовательность символов равна, оба объекта считаются равными.

Оператор == проверяет, являются ли две строки точно одним и тем же объектом.

Метод .equals() проверяет, имеют ли две строки одно и то же значение.

0
задан Andrei Herford 17 January 2019 в 10:04
поделиться

1 ответ

Это правильно.

Вам не нужно UNIQUE для поля PRIMARY.

Хотя использование UNIQUE и PRIMARY обоих не является ошибкой, UNIQUE является избыточным (замедляет работу базы данных, занимает больше места на диске) и может быть безопасно удалены и должны быть удалены.

0
ответ дан shawn 17 January 2019 в 10:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: