Первоначально я хотел бы нарисовать модель _id
MongoDB в моих моделях. Например:Can '_id' может быть сопоставлен с Java UUID?
case class User(_id: Option[BSONObjectID], ...)
Однако это вызвало много проблем, потому что я должен был установить _id
после того как я вставил документ пользователя. Поэтому я заменил этот атрибут, используя класс Java UUID
. Это означает, что у меня будет только id
в моей модели и _id
, а также id
в базе данных. Я начал использовать это сейчас для всех своих моделей, потому что, по-моему, плохой практикой является хранить информацию о базе данных в моих моделях (что, если я переключусь на базу данных SQL?). Могу ли я использовать UUID
s как допустимую замену для _id
для всех моих документов?
Ничто не мешает вам заменить по умолчанию '_id' на строку, сгенерированную' UUID'. – cchantep
Хорошо, но могу ли я надежно использовать сгенерированный 'UUID' для всех документов вместо' _id' или как люди справляются с этой проблемой? Я думаю, что это не очень хорошая идея, чтобы мои модели зависели от уровня базы данных, который я использую, не так ли? –
Это больше вопрос дизайна, в зависимости от вашего проекта, а не технический вопрос – cchantep