Я хочу поместить вас в контекст.У меня есть веб-приложение на Java, где я использую следующее.
- mybatis для доступа к базе данных
- загрузчик как фреймворк css
- datatable js
- jquery для вызова ajax на мой сервер
Также в моей базе данных есть два HTML (updateDriver.html, assignCarToDriver.html) и три объекта.
Итак, у меня есть два сценария.
- Первый - это обновление сущности водителя в updateCar.html
- Второй - присвоение автомобиля или машин водителю в assignCarToDriver.html.
Как вы можете видеть, отношения между базами данных между двумя моими сущностями очень много, поэтому моя база данных выглядит следующим образом.
|водитель | --- | driver_car | --- |car |
В первом сценарии , в первом html (updateDriver.html) эти шаги будут выполняться.
- Сервер отправляет объект драйверана мой интерфейс с его атрибутами базы данных, такими как первичный ключ, имя, фамилия, возраст.
- Я бы отобразил эти атрибуты в моем html, но не показываю первичный ключ (этот я бы вставил в скрытый входной текст)
Поэтому, когда пользователь нажимает кнопку «обновить» на моем html, я получаю значения через jquery и отправляю их на мой сервер, чтобы выполнить обновление в моей базе данных, мой вопрос возникает здесь:это хороший подход, чтобы скрыть первичный ключ в скрытый ввод текста?а если нет, то какие еще способы существуют для достижения этой цели?
Во втором сценарии , в sencod html (assignCarToDriver.html) есть комбо, отображающее все драйверы включения,введите текст, в котором пользователь должен написать номерной знак автомобиля и таблицу (с данными), где будут показаны автомобили.Итак, представьте это.Я выбираю первого водителя, показанного в поле со списком, затем я вписываю автомобильный номерной знак в свой текст ввода, я нажимаю кнопку «поиск», чтобы выполнить эти шаги.
- Сервер отправляет мнеавтомобильная сущность с ее атрибутами, такими как первичный ключ, модель, цвет для внешнего интерфейса
- Таким образом, я бы отображал атрибуты машины в моей таблице (с данными), но не показываю первичный ключ (я бы сделал столбец невидимым)
Поэтому, когда пользователь нажимает кнопку «Назначить», я получаю комбо-значение, записи в таблице, а затем отправляю их на свой сервер, и тут возникает мой вопрос. В данном случае это хорошо?подход, чтобы получить сущности, поместить их в таблицу (datatable js) и спрятать столбец, где отображается первичный ключ, чтобы отправить их на мой сервер, чтобы выполнить операцию назначения?а если нет, то какие еще способы существуют для этого?
Как видите, я считаю плохой практикой иметь первичные ключи в моем интерфейсе, но я могу ошибаться.
Я надеюсь, что мое объяснение было ясным, и мне очень жаль, если я написал слишком много, но я только начинаю создавать Java-приложения и очень хочу разрабатывать системы, основанные на хороших подходах и лучших практиках, надеюсь, вы сможете помочьмне.Заранее благодарю за помощь.