Я пишу Java-приложение для класса информатики.Мой вопрос не является проблемой в рамках этого проекта, но может привести к хаосу в реальном мире и моих одноклассниках, и я не могу придумать решение.Это система, которая предназначена для работы на клиентах, а затем обращается к базе данных для чтения и записи информации.
Сценарий: объект заказа состоит из идентификатора заказа, некоторых других атрибутов и массива элементов.У каждого элемента есть идентификатор, поэтому для их хранения лучше всего было бы использовать таблицу, в которой каждая строка имеет идентификатор заказа и соответствующий идентификатор элемента.Пока все достаточно просто.Проблема в том, что для того, чтобы иметь уникальные идентификаторы, мы должны установить их в базе данных.Это легко сделать с помощью автоинкремента, теперь идентификатор заказа создается при вставке заказа в базу данных.Следующим шагом является получение этого нового идентификатора заказа из базы данных и его использование для добавления наших товаров во вторую таблицу.Основная проблема здесь заключается в том, что между этими двумя шагами кто-то может создать новый заказ, и это приведет к тому, что во втором созданном заказе будут назначены все элементы, а не первый заказ.
Мы понимаем модель клиент-серверисправил бы это, если бы один клиент взаимодействовал с базой данных, а не с несколькими, но действительно ли нет решения этой проблемы, кроме перехода на модель клиент / сервер?