Статьи

Объектно-реляционное сопоставление (ORM) с объектами данных NetSuite в Java

Методы объектно-реляционного отображения (ORM) облегчают работу с реляционными источниками данных и могут связывать вашу логическую бизнес-модель с вашей физической моделью хранения. Следуйте этому руководству, чтобы интегрировать подключение к данным NetSuite в среду ORM на основе Java, Hibernate.

Вы можете использовать Hibernate для отображения объектно-ориентированных моделей предметной области в традиционную реляционную базу данных. В приведенном ниже руководстве показано, как использовать драйвер CData JDBC для NetSuite для создания ORM вашего репозитория NetSuite с помощью Hibernate.

Хотя Eclipse является IDE, выбранной для этой статьи, драйвер CData JDBC для NetSuite работает в любом продукте, который поддерживает среду выполнения Java. В Базе знаний вы найдете учебные пособия для подключения к данным NetSuite из IntelliJ IDEA и NetBeans.

Установить Hibernate

Выполните следующие действия, чтобы установить плагин Hibernate в Eclipse.

  1. В Eclipse перейдите в «Справка» -> «Установить новое программное обеспечение».
  2. Введите «http://download.jboss.org/jbosstools/neon/stable/updates/» в поле «Работа с».
  3. Введите «Hibernate» в поле фильтра.
  4. Выберите Hibernate Инструменты.
Объектно-реляционное отображение

Начать новый проект

Выполните следующие действия, чтобы добавить файлы JAR драйвера в новый проект.

  1. Создать новый проект. Выберите Java Project в качестве типа вашего проекта и нажмите Next. Введите название проекта и нажмите «Готово».
  2. Щелкните правой кнопкой мыши проект и выберите Свойства. Нажмите «Путь сборки Java» и откройте вкладку «Библиотеки».
  3. Нажмите Добавить внешние JAR-файлы, чтобы добавить библиотеку cdata.jdbc.netsuite.jar, расположенную в подпапке lib каталога установки.

Добавить файл конфигурации Hibernate

Выполните следующие действия, чтобы настроить свойства подключения для данных NetSuite.

  1. Щелкните правой кнопкой мыши новый проект и выберите «Создать» -> «Hibernate» -> «Файл конфигурации Hibernate» (cfg.xml).
  2. Выберите src в качестве родительской папки и нажмите «Далее».
  3. Введите следующие значения:
    • Hibernate версия :: 5.2
    • База данных диалекта : дерби
    • Класс драйвера : cdata.jdbc.netsuite.NetSuiteDriver
    • URL-адрес соединения : URL-адрес JDBC, начинающийся с jdbc: netsuite: и сопровождаемый разделенным точкой с запятой списком свойств соединения. Для свойств пользователя и пароля в разделе «Аутентификация» должны быть заданы действительные учетные данные пользователя NetSuite. Кроме того, для AccountId должен быть установлен идентификатор учетной записи компании, которая может использоваться указанным пользователем. Опционально можно указать RoleId для входа в систему пользователя с ограниченными разрешениями. Дополнительные сведения о подключении к NetSuite.Built-in Connection String Designer см. В главе «Начало работы» справочной документации. Для получения помощи по созданию URL-адреса JDBC используйте соединение. конструктор строк, встроенный в драйвер JDBC NetSuite. Либо дважды щелкните файл JAR, либо запустите файл JAR из командной строки.
1
java -jar cdata.jdbc.netsuite.jar

Заполните свойства подключения и скопируйте строку подключения в буфер обмена.

Объектно-реляционное отображение

Типичный URL JDBC ниже:

1
jdbc:netsuite:Account Id=XABC123456;Password=password;User=user;Role Id=3;Version=2013_1;

Подключите Hibernate к данным NetSuite

Выполните следующие шаги, чтобы выбрать конфигурацию, созданную на предыдущем шаге.

  1. Переключитесь на перспективу Конфигурации Hibernate: Окно -> Открыть перспективу -> Hibernate.
  2. Щелкните правой кнопкой мыши на панели «Конфигурации Hibernate» и выберите «Добавить конфигурацию».
  3. Установите версию Hibernate на 5.2.
  4. Нажмите кнопку «Обзор» и выберите проект.
  5. В поле «Файл конфигурации» нажмите «Настройка» -> «Использовать существующий» и выберите расположение файла hibernate.cfg.xml (внутри папки src в этой демонстрации).
  6. На вкладке Classpath, если в записях пользователей ничего нет, нажмите Add External JARS и добавьте jar драйвера еще раз. Нажмите OK, когда настройка будет завершена.
  7. Разверните узел базы данных вновь созданного файла конфигурации Hibernate.
Объектно-реляционное отображение

Обратный Инженер NetSuite Data

Следуйте приведенным ниже инструкциям, чтобы сгенерировать файл конфигурации reveng.xml. Вы будете указывать таблицы, к которым хотите получить доступ, как объекты.

  1. Вернитесь в проводник пакетов.
  2. Щелкните правой кнопкой мыши свой проект, выберите «Создать» -> «Спящий режим» -> «Файл обратного инжиниринга Hibernate» (reveng.xml). Нажмите «Далее.
  3. Выберите src в качестве родительской папки и нажмите «Далее».
  4. В раскрывающемся меню конфигурации консоли выберите созданный выше файл конфигурации Hibernate и нажмите «Обновить».
  5. Разверните узел и выберите таблицы, которые вы хотите перепроектировать. Нажмите Готово, когда вы закончите.
Объектно-реляционное отображение

Настроить Hibernate для запуска

Выполните следующие шаги, чтобы сгенерировать простые старые объекты Java (POJO) для таблиц NetSuite.

  1. В строке меню выберите «Выполнить» -> «Генерация кода Hibernate» -> «Настройки генерации кода Hibernate».
  2. В раскрывающемся меню конфигурации консоли выберите файл конфигурации Hibernate, созданный в предыдущем разделе. Нажмите Browse by Output directory и выберите src.
  3. Установите флажок Обратный инженер из JDBC-соединения. Нажмите кнопку «Настройка», нажмите «Использовать существующий» и выберите расположение файла hibernate.reveng.xml (внутри папки src в этой демонстрации).
  4. На вкладке «Экспортеры» выберите «Код домена» (.java) и «Сопоставления XML Hibernate» (hbm.xml).
  5. Нажмите Run.

Один или несколько POJO создаются на основе настроек обратного инжиниринга на предыдущем шаге.

Вставить теги сопоставления

Для каждого сгенерированного вами отображения вам нужно будет создать тег отображения в hibernate.cfg.xml, чтобы указать Hibernate на ваш ресурс отображения. Откройте hibernate.cfg.xml и вставьте теги сопоставления следующим образом:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
<hibernate-configuration>
<session-factory name="">
<property name="hibernate.connection.driver_class">
cdata.netsuite.NetSuiteDriver
</property>
<property name="hibernate.connection.url">
jdbc:netsuite:Account Id=XABC123456;Password=password;User=user;Role Id=3;Version=2013_1;<!--?xml version="1.0" encoding="UTF-8"?-->
</property>
<property name="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</property>
  
<mapping resource="SalesOrder.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>

Выполнить SQL

Используя сущность, созданную на последнем шаге, теперь вы можете искать и изменять данные NetSuite:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
import java.util.*;
import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
import org.hibernate.query.Query;
  
public class App {
public static void main(final String[] args) {
Session session =  new
Configuration().configure().buildSessionFactory().openSession();
String SELECT = "FROM SalesOrder S WHERE Class_Name = :Class_Name";
Query q = session.createQuery(SELECT, SalesOrder.class);
q.setParameter("Class_Name","Furniture : Office");
List<SalesOrder> resultList = (List<SalesOrder>) q.list();
  
for(SalesOrder s: resultList){
System.out.println(s.getCustomerName());
System.out.println(s.getSalesOrderTotal());
     }
   }
}

Готовы начать?

Узнайте больше о драйвере CData JDBC для NetSuite или загрузите бесплатную пробную версию: