Java中带有NetSuite数据实体的对象关系映射(ORM)
對象關系映射(ORM)技術使使用關系數據源更容易,并且可以將邏輯業務模型與物理存儲模型聯系在一起。 遵循本教程,將與NetSuite數據的連接集成到基于Java的ORM框架Hibernate中。
您可以使用Hibernate將面向對象的域模型映射到傳統的關系數據庫。 下面的教程顯示了如何使用NetSuite的CData JDBC驅動程序通過Hibernate生成NetSuite存儲庫的ORM。
盡管Eclipse是本文的首選IDE,但是NetSuite的CData JDBC驅動程序可在任何支持Java運行時環境的產品中使用。 在知識庫中,您將找到從IntelliJ IDEA和NetBeans連接到NetSuite數據的教程。
安裝休眠
請按照以下步驟在Eclipse中安裝Hibernate插件。
開始一個新項目
請按照以下步驟在新項目中添加驅動程序JAR。
添加休眠配置文件
請按照以下步驟配置NetSuite數據的連接屬性。
- 休眠版本 :5.2
- 數據庫方言 :Derby
- 驅動程序類 :cdata.jdbc.netsuite.NetSuiteDriver
- 連接URL :一個JDBC URL,以jdbc:netsuite:開頭 ,后跟以分號分隔的連接屬性列表。“身份驗證”部分下的“用戶”和“密碼”屬性必須設置為有效的NetSuite用戶憑據。 此外,必須將AccountId設置為指定用戶可以使用的公司帳戶的ID。 可以選擇指定RoleId來以有限的權限登錄用戶。有關連接到NetSuite的更多信息,請參見幫助文檔的“入門”一章。內置連接字符串設計器有關構造JDBC URL的幫助,請使用連接NetSuite JDBC驅動程序內置的字符串設計器。 雙擊JAR文件或從命令行執行jar文件。
填寫連接屬性,然后將連接字符串復制到剪貼板。
典型的JDBC URL如下:
jdbc:netsuite:Account Id=XABC123456;Password=password;User=user;Role Id=3;Version=2013_1;將Hibernate連接到NetSuite數據
請按照以下步驟選擇在上一步中創建的配置。
逆向工程師NetSuite數據
請按照以下步驟生成reveng.xml配置文件。 您將要訪問的表指定為對象。
配置休眠以運行
請按照以下步驟為NetSuite表生成簡單的舊Java對象(PO??JO)。
根據上一步中的逆向工程設置創建一個或多個POJO。
插入映射標簽
對于生成的每個映射,您將需要在hibernate.cfg.xml中創建一個映射標記,以將Hibernate指向您的映射資源。 打開hibernate.cfg.xml并按以下方式插入映射標記:
<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數據:
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());}} }準備開始了嗎?
了解有關用于NetSuite的CData JDBC驅動程序的更多信息,或下載免費試用版:
翻譯自: https://www.javacodegeeks.com/2019/06/object-mapping-netsuite-data-entities-java.html
總結
以上是生活随笔為你收集整理的Java中带有NetSuite数据实体的对象关系映射(ORM)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Valhalla项目:LW2内联类型的初
- 下一篇: TCL发布双子舱洗烘护集成机T10, 开