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插件。

  1. 在Eclipse中,导航到“帮助”->“安装新软件”。
  2. 在“使用方式”框中输入“ http://download.jboss.org/jbosstools/neon/stable/updates/”。
  3. 在过滤器框中输入“休眠”。
  4. 选择休眠工具。
Java中带有NetSuite数据实体的对象关系映射(ORM)_第1张图片

开始一个新项目

请按照以下步骤在新项目中添加驱动程序JAR。

  1. 创建一个新项目。 选择Java Project作为您的项目类型,然后单击Next。 输入项目名称,然后单击完成。
  2. 右键单击项目,然后单击属性。 单击“ Java构建路径”,然后打开“库”选项卡。
  3. 单击“添加外部JAR”以添加cdata.jdbc.netsuite.jar库,该库位于安装目录的lib子文件夹中。

添加休眠配置文件

请按照以下步骤配置NetSuite数据的连接属性。

  1. 右键单击新项目,然后选择新建->休眠->休眠配置文件(cfg.xml)。
  2. 选择src作为父文件夹,然后单击“下一步”。
  3. 输入以下值:
    • 休眠版本 :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

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

Java中带有NetSuite数据实体的对象关系映射(ORM)_第2张图片

典型的JDBC URL如下:

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

将Hibernate连接到NetSuite数据

请按照以下步骤选择在上一步中创建的配置。

  1. 切换到“ Hibernate配置”透视图:窗口->打开透视图->休眠。
  2. 右键单击“休眠配置”面板,然后单击“添加配置”。
  3. 将Hibernate版本设置为5.2。
  4. 单击浏览按钮,然后选择项目。
  5. 对于“配置文件”字段,单击设置->使用现有文件,然后选择hibernate.cfg.xml文件的位置(在此演示中的src文件夹中)。
  6. 在“类路径”选项卡中,如果“用户条目”下没有任何内容,请单击“添加外部JARS”,然后再次添加驱动程序jar。 配置完成后,单击“确定”。
  7. 展开新创建的Hibernate配置文件的Database节点。
Java中带有NetSuite数据实体的对象关系映射(ORM)_第3张图片

逆向工程师NetSuite数据

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

  1. 切换回Package Explorer。
  2. 右键单击您的项目,选择新建-> Hibernate-> Hibernate反向工程文件(reveng.xml)。 点击下一步。
  3. 选择src作为父文件夹,然后单击“下一步”。
  4. 在控制台配置下拉菜单中,选择上面创建的Hibernate配置文件,然后单击刷新。
  5. 展开节点,然后选择要反向工程的表。 完成后,单击“完成”。
Java中带有NetSuite数据实体的对象关系映射(ORM)_第4张图片

配置休眠以运行

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

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

根据上一步中的逆向工程设置创建一个或多个POJO。

插入映射标签

对于生成的每个映射,您将需要在hibernate.cfg.xml中创建一个映射标记,以将Hibernate指向您的映射资源。 打开hibernate.cfg.xml并按以下方式插入映射标记:




cdata.netsuite.NetSuiteDriver


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


org.hibernate.dialect.SQLServerDialect

 


执行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 resultList = (List) 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))