Подтвердить что ты не робот

Запись в JPA

Какой правильный синтакс заявления вставки JPA? Это может показаться легким вопросом, но я не смог найти ответ.

Я знаю, как это сделать из кода Java, но я ищу способ вставить объекты в базу данных, если база данных была создана.

Любые идеи?

4b9b3361

Ответ 1

Опция, которая выглядит более перспективной до сих пор, использует Flyway. Это более автоматизированный способ сделать это и автоматически обрабатывать процесс обновления баз данных.

Ответ 2

В JPA нет инструкции INSERT. Вы должны вставить новые объекты, используя EntityManager. Единственными утверждениями, разрешенными в JPA, являются SELECT, UPDATE и DELETE.

Ответ 3

Вот хорошая ссылка о сохраняющихся объектах JPA с использованием EntityManager. В качестве примера, это способ вставки объектов с использованием метода persist:

EntityManager em = getEntityManager();
em.getTransaction().begin();

Employee employee = new Employee();
employee.setFirstName("Bob");
Address address = new Address();
address.setCity("Ottawa");
employee.setAddress(address);

em.persist(employee);

em.getTransaction().commit();

Ответ 4

Если вы хотите вставить данные в базу данных за пределами java, вам нужно использовать собственный SQL. Используйте SQL Standard, чтобы убедиться, что большинство баз данных могут выполнять script. Когда приложение запускается, JPA будет делать сопоставление новых данных и преобразовывать их в объекты по мере необходимости.

Как убедиться, что script работает во всех базах данных? хорошо, та же проблема, что и любой администратор базы данных при создании процедур хранения или собственных запросов... вот почему существует JPA, чтобы избежать непосредственного использования в SQL, но я знаю, что иногда это необходимо.

Я предлагаю вам сделать 3 основных сценария. Один для Oracle, один для SQL Server (есть некоторые проблемы в дататипах даты с версий 2005 по 2008 год, поэтому будьте осторожны) и один для MySQL. Запустите свой script со стандартным SQL, и когда вы проверите его в этих базах данных, вы найдете некоторые исправления, которые вам понадобятся для каждой СУБД.

Один из них вы можете сделать файл script (*.sql) и запустить его с помощью менеджера баз данных. Если он работает, запустите сервер, установите приложение онлайн, и данные будут полностью интегрированы.