使用 JAXB 接口连接 EJB - XML

2024-02-09

我试图将 XML 模式添加到现有的 EJB 项目中。 JAXB 用于将 XML 模式绑定到 Java 类。因为我们将在 EJB 处于会话状态时使用搜索引擎来爬取 DTO。

我找不到任何将实体类文件映射到 XML 模式的直接方法。

到目前为止,我们可以实现的唯一方法是创建 Web 服务,生成 WSDL,从而生成 xml 模式 (XSD),然后通过 JAXB(xjc 命令)解析 XSD 文件以创建 java 类文件。现在使用mapping-binding.xml 文件我们可以映射XML 和Java 类文件。

但现在的问题又是如何将其映射到实体类。

这就是我们想要实现的目标:

  • 带有 XML 模式的 XML 数据对象(这已经存在于 JAXB 规范中)。
  • 然后,实体 Bean 扩展该 JAXB 对象或具有该 JAXB 对象的接口。
  • 所有持久化功能均由实体 Bean 管理...
  • 然后,实体 Bean 将包含 JAXB 中的 XML 编组和解组功能。
  • 可以从实体 Bean 对象中以二进制或 XML 形式检索值对象。
  • JSP 可以轻松地从值对象中提取 XML 模式和 XML 数据,并对其执行操作,例如 XSL 转换。

我的观点是,Entity Bean 没有连接 JAXB 对象的标准方法。

Castor 可能是解决方案,但话又说回来,我们必须实现 Web 服务或使用 Castor JDO。

我发现 XStream 非常有用,因为它使用转换器类,您可以在其中调用实体 bean 类对象并生成 xml 文件。但我不喜欢使用另一个类,而是将功能合并到现有的 bean 类中。

你能在这方面帮助我吗?


我会告诉你我真正想要实现的目标。我正在创建一个搜索引擎,它将在会话中的 EJB 期间被调用,并将使用爬虫程序通过 DTO 并获取 XML 格式的快照。搜索将按照不同的标准进行。

Lucene 是搜索引擎工具之一,但它使用自己的属性和文件(更像是独立的)

我已经有了 DTO,Web 服务使用它来在 PHP 和 Java 应用程序(EJB 层)之间进行通信。我想在 jaxb 中重新使用这些 DTO 作为爬虫来获取 XML 中表的输出,但我无法做到这一点,因为 JAXB 通过 xml 模式使用它自己生成的类。就像你说的,我还没有找到一种方法来指导 JAXB bean 类。


将数据模型(实体 bean)与 XML 接口紧密耦合可能不是世界上最好的主意;它会阻止你在不改变另一个的情况下改变一个。

我不是 100% 确定我理解您想要做什么,但我认为有一种方法可以指示 JAXB 扩展类而不是创建新类。您可以像平常一样创建实体 Bean,并让 JAXB 生成的 Bean 使用额外信息来扩展它们。

我可以说从某个地方获取 Entity beans 实例other比你的持久层(例如从 XML 反序列化它们)将是huge给你带来问题。

另请注意,使用 XML 在 Java 应用程序之间(例如 JSP/Servlet 和 EJB 层之间)进行通信是一个坏主意; XML 的编组和增加的冗长对您来说没什么好处;通过 RMI 序列化对象(EJB 将为您做的事情)将更容易实现、测试和维护。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JAXB 接口连接 EJB - XML 的相关文章

  • 用于冒号分隔标签的 XML 解析器? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • C# MonoGame 有帮助吗? (Content.Load("入侵者");)

    我正在 MonoGame 中使用 Open GL 制作太空入侵者游戏 并且尝试加载已添加到内容文件夹中的纹理 这是一个名为 Invader 的 PNG 文件 我使用的代码是 invader Content Load
  • 如何在 Go 中解组具有多个项目的简单 xml?

    我想从以下 xml 中获取人物 People 的一部分
  • 如何使用scrapy抓取xml url

    你好 我正在使用 scrapy 来抓取 xml url 假设下面是我的 Spider py 代码 class TestSpider BaseSpider name test allowed domains www example com s
  • 加载 highchart 时 Android 错误膨胀类

    我正在尝试加载highcharts via Dialog 下面是我的代码 Gradle implementation com highsoft highcharts highcharts 9 0 1 XML
  • 在工具栏下显示内容

    您好 我试图简单地将我的内容放在工具栏下方 但是当我运行我的应用程序时 某些内容本应位于工具栏下方 却隐藏在工具栏后面 我已经阅读了有关使用框架布局来尝试将其分离的内容 但我有点卡住了 我目前正在使用该软件提供的基本 android stu
  • JAXB - 忽略元素

    有什么方法可以忽略 Jaxb 解析中的元素吗 我有一个很大的 XML 文件 如果我可以忽略其中一个大而复杂的元素 那么它的解析速度可能会快很多 如果它根本无法验证元素内容并解析文档的其余部分 即使该元素不正确 那就更好了 例如 这应该只生成
  • 具有多个应用程序标签的 AndroidManifest.xml

    我对 Android 编程非常陌生 我一直在试图找出为什么我的应用程序在单击按钮时强制关闭 我已将范围缩小到几件事 一个问题 是否可以拥有多个
  • 使用批处理解析 XML 文件以从某些特定节点获取值

    对于每个节点列表有Lists作为其父节点 我想获取 保存前三个节点的变量值 即entry output and token 我知道如何使用 vbscript 来做到这一点 但对我来说 批量解决方案更有趣 请问可以做吗
  • jQuery - 提高处理 XML 时的选择器性能

    我正在处理一个 XML 文件 当使用 XPath 样式选择器选择节点时 该文件的性能非常慢 这是运行特别慢的部分代码 for i 0 i
  • 在线性布局内的 ScrollView 内并排对齐 TextView

    我有一个带有滚动视图的线性布局 我想保留它的当前格式 但只需将 textView2a 和 textView3a 并排放置 而不会破坏我当前的布局格式 我已经包含了我最近的尝试 但它们似乎不正确 提前致谢 Java菜鸟 当前有效的 XML
  • xsi:type 属性搞乱了 C# XML 反序列化

    我使用 XSD exe 根据 XML 架构 xsd 文件 自动生成 C 对象 我正在反序列化 OpenCover 输出 但其中一个部分类未正确生成 这是导致异常的行
  • XML 创建 - 错误:带有替代方案的重载方法构造函数 UnprefixedAttribute

    scala gt val count 7 count Int 7 将其放入 XML 属性中会出现错误 scala gt val x
  • 检查 XML 元素是否存在

    如何验证 XML 文件中是否存在特定元素 假设我有一个不断变化的 XML 文件 我需要在读取 解析它之前验证每个元素是否存在 if doc SelectSingleNode mynode null 应该这样做 显然 其中 doc 是您的 X
  • MSMQ接收和删除

    是否有任何选项可以在读取消息后将其从 MSMQ 中删除 比如 接收 删除可以作为原子操作运行吗 听起来您想查看下一条消息 然后在处理完成后接收它 Message message Queue Peek Queue ReceiveById me
  • Booking.com酒店管理API

    我拥有一家酒店 并在 booking com 上查看了 API 因为我想创建自己的前端界面来更新我的酒店房价 房间数 以及通过该 API 上传图片 更新酒店描述 然而 我唯一能找到的是一个 API 供联营公司以一定的价格获取特定位置的酒店等
  • 删除Android所有语言中的字符串

    我有一个包含多个翻译的应用程序 我想删除一些字符串 我怎样才能重构并删除它们一次 例如在默认情况下strings xml文件并自动将删除传播到其他翻译的其他 strings xml 文件 您可以通过 Android Studio 中的 翻译
  • REXX 或 JCL 中的 XML 处理

    在 PS 文件中 我有如下 XML 数据 For ex
  • XSL字符串多重替换功能

    如何让这个函数进行多重替换 经验 替换aaa with 111并替换bbb with 222 etc
  • dbms_xmlgen.getxml - 如何设置日期格式

    我们使用 dbms xmlgen getxml 实用程序通过 SQL 查询生成 xml 该查询从几乎 10 15 个相关表中获取数据 默认情况下 日期格式生成于dd MMM yy格式 有什么方法可以在 dbms xmlgen getxml

随机推荐

  • 如何删除领域对象及其子关系?

    我有一个大对象 它与其他对象有很多关系 这些对象也与其他对象有关系 因此 当我删除根对象时 我发现只有父对象被删除 而其所有关系都没有被删除 有没有办法在同一事务中删除整个树 领域不支持cascading delete目前 您可以为该功能投
  • 锁定(“Kiosk 模式”)Android 设备 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 在满足以下要求的同时 您将如何锁定 Android 设备 访问 Wifi 网络 访问单个公司的应用程序 能够下载 更新到公司应用程序的新版本 访问蓝牙
  • 嵌套 iframe,又名 Iframe Inception

    我正在尝试使用 jQuery 访问 div id element div div 所有 iframe 都位于同一域中 不存在 www 非 www 问题 我已成功选择第一个 iframe 中的元素 但未成功选择第二个嵌套 iframe 中的元
  • 单击图像后未出现日期选择器

    我有一个显示日期选择器的小提琴 我在下面编写了相同的代码 但没有任何反应 我做错了什么 当我单击绿色时 不会生成日期选择器 但在小提琴中它运行良好 我在哪里做错了 http jsfiddle net cBwEK 10 http jsfidd
  • C 在缓冲区中创建额外字节

    我今天一直在摆弄 C 当我注释掉这段代码中的第三个缓冲区时 我不明白输出的差异 include
  • 如何将样式应用于元素的所有子元素

    我有一个元素class myTestClass 如何将 css 样式应用于此元素的所有子元素 我只想将样式应用于元素子元素 不是它的孙子 我可以用 myTestClass gt div margin 0 20px 对所有人都有效div孩子们
  • 如何使用 C# 在 Windows 控制台应用程序中创建 ASCII 动画?

    我希望它能够显示非闪烁的动画 就像这个很棒的 Linux 命令一样 sl http www youtube com watch v 9GyMZKWjcYU http www youtube com watch v 9GyMZKWjcYU 我
  • 无法从 Windows 命令提示符运行 Spyder3

    我在已经安装了 Python2 的笔记本电脑上下载了 Python3 位于两个文件夹中Python3 and Python27分别 我有 Windows 10 64 位 Spyder exeand Spyder3 exe都在Scripts安
  • 如何使用 PyQT5 连接和分离外部应用程序或对接外部应用程序?

    我正在使用 ROS 为多机器人系统开发 GUI 但我对界面中最不想做的事情感到困惑 在我的应用程序中嵌入 RVIZ GMAPPING 或其他屏幕 我已经在界面中放置了一个终端 但我无法解决如何向我的应用程序添加外部应用程序窗口的问题 我知道
  • SyntaxError:意外的令牌导入 TypeORM 实体

    因此 我正在使用 TypeORM 并且当我将 TypeScript 转换为 JavaScript 时遇到奇怪的错误 我收到以下错误 function exports require module filename dirname impor
  • WPF。如何将 InlineUIContainer 内容中的文本与 RichTextBox 中的外部文本对齐

    任务 使InlineUIContainer的文本内容与外部文本内联 InlineUIContainer 内容的标准行为是当底部边缘与外部文本内联时 可以使用 RenderTransform 移动 InlineUIContainer 的内容
  • Oracle(旧?)连接 - 用于转换的工具/脚本?

    我一直在移植 oracle selects 并且运行过很多查询 如下所示 SELECT e last name d department name FROM employees e departments d WHERE e departm
  • 调用 ToString("YYYY-mm-dd") 会导致日期格式错误

    我有一个构造函数 它需要一个DateTime object public Report DateTime date string start 0 string end 0 Logger Info Creating a new Report
  • 搜索30,000条SQL记录的方式

    我即将在我的网站上创建一个简单的搜索工具 用户将输入大约 2 4 个关键字 这些关键字将在我的 MS SQL 数据库表的两列中进行搜索 一列是 varchar 50 称为标题 一列是 varchar 2500 称为描述 任何时候都可能有大约
  • 如何使用 wxPython 检测窗口何时最小化?

    我正在编写一个小型 wxPython 实用程序 我想使用一些事件来检测用户何时最小化应用程序 窗口 我环顾四周 但没有找到像 wx EVT MINIMIZE 这样我可以绑定的事件 有人知道可以用来检测这一点的方法吗 添加一个处理程序wx E
  • 使用 ES6 导入 JSNLog 的正确语法是什么?

    我似乎不知道如何将 JSNLog 导入到我基于 ES6 babel 的 Aurelia 项目中 我试过了 import jsnlog JL is undefined import JL from jsnlog JL is import JL
  • 为什么 TensorFlow 尽管有多个核心却只能找到一个 CPU 设备?

    据我了解 TensorFlow 为每个核心创建一个设备 来源 https github com samjabrahams tensorflow white paper notes https github com samjabrahams
  • 确定未使用哪些 PHP 源文件

    我有一个大型网络应用程序 我认为有一堆不再使用的旧文件 是否有一个应用程序可以告诉我这些文件是什么 还有死码检测器 DCD http github com sebastianbergmann phpdcd 它会找到从未被调用的函数 这甚至可
  • 在表单调整大小时调整大量组件的性能问题

    我觉得到目前为止我的失败在于搜索词 因为这方面的信息必须非常普遍 基本上 我正在寻找在调整表单大小时对多个组件执行调整大小时的通用解决方案和最佳实践 我有一个表单 其组件基于TScrollBox ScrollBox 包含在运行时动态添加的行
  • 使用 JAXB 接口连接 EJB - XML

    我试图将 XML 模式添加到现有的 EJB 项目中 JAXB 用于将 XML 模式绑定到 Java 类 因为我们将在 EJB 处于会话状态时使用搜索引擎来爬取 DTO 我找不到任何将实体类文件映射到 XML 模式的直接方法 到目前为止 我们