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

netsuite

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配置文件的“数据库”节点。
对象关系映射

逆向工程师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());
     }
   }
}

准备开始了吗?

了解有关用于NetSuiteCData JDBC驱动程序的更多信息,或下载免费试用版:

翻译自: https://www.javacodegeeks.com/2019/06/object-mapping-netsuite-data-entities-java.html

netsuite

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值