Данные пружины JDBC и равенство дочерней организацииJAVA

Программисты JAVA общаются здесь
Anonymous
Данные пружины JDBC и равенство дочерней организации

Сообщение Anonymous »

Я изучаю Spring Data JDBC через видео Maciej Walkowiak (), которое представляет собой корень для агрегации фильма с одним коным отношением к арендованным объектам. В арендуемом субъекте не хватает поля @ID, и никаких равных/хэшкодов не реализовано. Арендная таблица имеет идентификатор автоматической инкющения (не сопоставлен с объектом) и неявный внешний ключ Movie.
Вот упрощенная структура из видео: < /p>

Код: Выделить всё

]@Table("movie")
class Movie {
@Id
Long id;
String title;
Set rentals;
}

@Table("rental")
class Rental {
Duration duration; // No @Id, no equals/hashCode
Integer price;
}
меня беспокоит:
Отсутствие равных/хэшкодов в аренде меня беспокоит, потому что в DDD объекты должны иметь равенство на основе идентификации, а не на основе стоимости (например, продолжительность и цена). Для фильма Equals/Hashcode может использовать ID, но аренда не имеет поля идентификации. Базирование равняется продолжительности и цене, по -видимому, нарушает DDD, что предполагает использование идентичности для равенства в организациях. Автоинкрементарный идентификатор арендной платы таблицы представляется непригодным для равных из-за стратегии обновления Delete и Instert обновления Spring Data JDBC, которая изменяет значения идентификатора. Или мое беспокойство даже действительно? Если мы основываем равенство на ссылке на объект, и если мы добавляем аренду только с помощью фильма (например, AddRental (арендная плата)), все должно быть хорошо. Но IRL нам, вероятно, нужно каким-то образом взаимодействовать с определенной арендной платой (например, Endrental), и для этого нам нужен способ отличить их
Предлагаемое решение:
Я считаю, что аренда должна иметь UUID-полю, сгенерированное применением, чтобы обеспечить идентификационную идентификационную идентификацию DDD, с равным/hashCode /> Вопросы: < /strong> < /p>
Упрощенно ли видео? Я имею в виду в реальном мире, нам, вероятно, нужен способ отличить аренду друг от друга < /p>
Является ли мое предположение правильным, что автогентерированный идентификатор не подходит для проверки равенства? Преднамеренное, и соответствует ли он DDD?>

Подробнее здесь: https://stackoverflow.com/questions/795 ... y-equality

Вернуться в «JAVA»