netsuite 数据集成

对象关系映射(ORM)技术使使用关系数据源更加容易,并且可以将逻辑业务模型与物理存储模型联系在一起。 遵循本教程,将NetSuite数据的连接集成到基于Java的ORM框架Hibernate中。

您可以使用Hibernate将面向对象的域模型映射到传统的关系数据库。 下面的教程显示了如何使用NetSuite的CData JDBC驱动程序通过Hibernate生成NetSuite存储库的ORM。

尽管Eclipse是本文的首选IDE,但是NetSuite的CData JDBC驱动程序可在任何支持Java运行时环境的产品中使用。 在知识库中,您将找到从IntelliJ IDEA和NetBeans连接到NetSuite数据的教程。

安装Hibernate

请按照以下步骤在Eclipse中安装Hibernate插件。

  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
    • 数据库方言 :Derby
    • 驱动程序类 :cdata.jdbc.netsuite.NetSuiteDriver
    • 连接URL :一个JDBC URL,以jdbc:netsuite:开头 ,后跟以分号分隔的连接属性列表。“身份验证”部分下的“用户”和“密码”属性必须设置为有效的NetSuite用户凭据。 另外,必须将AccountId设置为可以由指定用户使用的公司帐户的ID。 可以选择指定RoleId以有限的权限登录用户。有关连接到NetSuite的更多信息,请参见帮助文档的“入门”一章。内置连接字符串设计器有关构造JDBC URL的帮助,请使用连接NetSuite JDBC驱动程序内置的字符串设计器。 双击JAR文件或从命令行执行jar文件。
java -jar cdata.jdbc.netsuite.jar

填写连接属性,然后将连接字符串复制到剪贴板。


典型的JDBC URL如下:

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. 在“类路径”选项卡中,如果“用户条目”下没有任何内容,请单击“添加外部JARS”,然后再次添加驱动程序jar。 配置完成后,单击“确定”。
  7. 展开新创建的Hibernate配置文件的Database节点。

逆向工程师NetSuite数据

请按照以下步骤生成reveng.xml配置文件。 您将要访问的表指定为对象。

  1. 切换回Package Explorer。
  2. 右键单击您的项目,选择新建-> Hibernate-> Hibernate反向工程文件(reveng.xml)。 点击下一步。
  3. 选择src作为父文件夹,然后单击“下一步”。
  4. 在“控制台配置”下拉菜单中,选择您在上面创建的Hibernate配置文件,然后单击“刷新”。
  5. 展开节点,然后选择要反向工程的表。 完成后,单击“完成”。

配置Hibernate以运行

请按照以下步骤为NetSuite表生成普通的旧Java对象(PO​​JO)。

  1. 在菜单栏中,单击运行->Hibernate代码生成->Hibernate代码生成配置。
  2. 在“控制台配置”下拉菜单中,选择在上一节中创建的Hibernate配置文件。 单击按输出浏览目录,然后选择src。
  3. 从JDBC连接启用反向工程师复选框。 单击设置按钮,单击使用现有文件,然后选择hibernate.reveng.xml文件的位置(在此演示中的src文件夹中)。
  4. 在“导出器”选项卡中,选中“域代码(.java)”和“ Hibernate XML映射”(hbm.xml)。
  5. 单击运行。

根据上一步中的逆向工程设置创建一个或多个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

netsuite 数据集成

netsuite 数据集成_Java中带有NetSuite数据实体的对象关系映射(ORM)相关推荐

  1. Java中带有NetSuite数据实体的对象关系映射(ORM)

    对象关系映射(ORM)技术使使用关系数据源更容易,并且可以将逻辑业务模型与物理存储模型联系在一起. 遵循本教程,将与NetSuite数据的连接集成到基于Java的ORM框架Hibernate中. 您可 ...

  2. java xml 实体类_java中的xml与实体类之间的映射

    实体类: package xml; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement public class User ...

  3. java数据查询_Java中的大量数据查询

    问题描述:在通常的三层构架下,客户通过Browser请求Web服务器查询数据库,而查询结果是上千条甚至是上百万条记录,要求查询 问题描述:在通常的三层构架下,客户通过Browser请求Web服务器查询 ...

  4. java的数据连接_java中连接各种数据的方法

    1.oracle thin驱动连接字符串:jdbc:oracle:thin:用户名/密码@localhost:1521:cake 驱动类:oracle.jdbc.driver.OracleDriver ...

  5. python中通过元类(TYPE)简单实现对象关系映射(ORM)

    ORM是创建一个实例对象,用创建他的类名当做数据表名,用创建他的类属性对应数据表的字段,不需要在自己写复杂的sql语句,而是通过对实例对象的操作时,能让代码自动帮我们整理为对应的sql语句. clas ...

  6. AgileEAS.NET之数据关系映射ORM

    上一遍我介绍了AgileEAS.NET中统计的数据访问,本文我将来介绍AgileEAS.NET中的ORM实现思路.关于ORM的概念和介绍,我在此就不在重复介绍了,我相信大家都很熟悉这个概念了. Agi ...

  7. java分页查询海量数据_Java中的大量数据查询

    解决方案一:直接使用ResultSet来处理 从ResultSet中将查询结果读入collection,缓存在HttpSession或有状态bean中,翻页的时候从缓存中取出一页数据显示.这种方法有两 ...

  8. xml 数字签名 破解_JAVA中带有数字签名的XML安全性

    xml 数字签名 破解 介绍 如您所知,XML在我们的产品或项目开发中起着重要作用,并且从XML文档中我们收集了很多信息,并且我们可以对XML文件执行CRUD操作. 但是,关于如何确保XML文件中可用 ...

  9. oracle数据集成产品,甲骨文推出Oracle数据集成产品

    日前,甲骨文推出构成Oracle数据集成产品线基础的Oracle GoldenGate 11g和Oracle数据集成器企业版11g,这两款新产品是Oracle融合中间件产品系列的组成部分. 在过去几年 ...

最新文章

  1. 生物信息学常见数据格式 • fasta • fastq • gff/gtf
  2. linux通信中recv,linux套接字通信之recv中的缓存机制的研究
  3. windows和linux下的文件路径表示
  4. [转]nchar,char,varchar与nvarchar区别
  5. fprintf,input和disp函数
  6. 【学习笔记】一:JavaScript简介
  7. Web前端 — Bootstrap(2)
  8. mysql统计某一个数据库中有几张表
  9. TL431中文资料特性及应用
  10. win7+nfs文件服务器,win7如何挂载nfs服务器
  11. php curl getinfo详解,php curl getinfo
  12. spring boot基于Java的电影院售票与管理系统毕业设计源码011449
  13. vue IE兼容性问题汇总
  14. Java:反射的常用用法,
  15. vscode常用插件 - Path Autocomplete
  16. Android第三方开发包之高德地图SDK使用介绍
  17. leetcode No7. Reverse Integer
  18. 什么是面向对象编程(Java)
  19. JAVA安卓4.4.4_Android源码4.4.4_r1下载和编译
  20. 阅读契机-《认知天性》

热门文章

  1. 牛客网【每日一题】Shortest Path 4月3日题目精讲 DFS
  2. [CEOI2016] kangaroo(排列dp)
  3. P1081 [NOIP2012 提高组] 开车旅行(倍增)(动态规划)
  4. CF444C-DZY Loves Colors【线段树,set】
  5. P3224-[HNOI2012]永无乡【平衡树,启发式合并】
  6. P2463-[SDOI2008]Sandy的卡片【SA,二分答案】
  7. jzoj3847-都市环游【矩阵乘法】
  8. P1306-斐波那契公约数【矩阵乘法,数论】
  9. 【DP】建学校问题(luogu 2803/2018 特长生 T3)
  10. 医院(jzoj 1611)