问题标签 [pojo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - POJO 与 EJB 与 EJB 3
有没有人有任何关于 Java 类可能看起来像 POJO、EJB 和 EJB 3 的示例?我正在尝试了解这些 Java 技术,但遇到了麻烦。我希望如果我能看到这三个的实现会是什么样子会有所帮助。
java - pojo到xsd代
是否有可以从 java 类生成 xsd 模式的库?谷歌产生了很多相反的结果(来自 xsd 的 java 类)。
java - JavaBean 和 POJO 有什么区别?
我不确定区别。我正在使用 Hibernate,并且在某些书中,他们使用 JavaBean 和 POJO 作为可互换的术语。我想知道是否存在差异,不仅在 Hibernate 上下文中,而且作为一般概念。
java - POJO(普通旧 Java 对象)和 DTO(数据传输对象)有什么区别?
我找不到它们之间的区别。有谁知道如何区分它们?
hibernate - 如何使我的 pojo 具有交易性?
我有一个多线程、多服务器的 Web 应用程序,它带有休眠和使用 AOP 管理事务的弹簧。问题是,我需要维护内存数据并使其与数据库的状态保持同步……基本上我正在实现内存缓存。
现在,有什么方法可以让我的内存中 pojos 在与休眠/春季事务性相同的级别上进行事务处理?我有分层 30 个类的服务调用,但我永远不知道提交会发生在哪里。我有哪些选择?
concurrency - 将无状态会话 bean 转换为 POJO 的可伸缩性影响
想象一个被大量使用的服务对象,它被实现为 EJB 2.1 SLSB,并且由于没有任何状态,它本身也恰好是线程安全的。它所有的公共方法都是事务性的(通过 CMT),最简单的需要一个事务,但有些需要一个新的事务。
如果我将此 SLSB 转换为真正的单例 POJO(例如使用 DI 框架),这将如何影响应用程序的可伸缩性?当服务是 SLSB 时,EJB 容器将管理一个实例池,每个客户端都可以从中获取自己的副本,所以我想知道将其转换为单例 POJO 是否会对该单个实例引入某种争用。
FWIW,此服务的方法都不是synchronized
.
澄清:我将 SLSB 转换为 POJO 的动机是简化对象的生命周期(真正的单例与容器管理)和代码本身(一个接口和一个带注释的 POJO,与三个接口、一个 bean 类和一堆ejb-jar.xml 中的 XML)。
此外,FWIW,所讨论的服务是在 JBoss 3.x 上运行的并置 Web 应用程序的一个组件。
java - JBoss 缓存类文件吗?
我正在努力解决一个奇怪的问题:当我对本地 JBoss 实例中的 POJO 或 Seam 组件进行更改时,重新启动它并加载页面,更改是可见的。但是,在我们的服务器上,运行相同版本的 JBoss,当我停止实例、删除 WAR 文件、上传最新版本并重新启动 JBoss 时,它不会显示一些新的服务器端功能。
具体来说,更改是针对实现 javax.faces.validator.Validator 类的 POJO 类。然后像这样在 XHTML Facelet 中使用它:
我能够正确使用本地 JBoss 上的电子邮件验证器;在开发服务器上,它使用同一页面上的同一电子邮件引发验证错误。很奇怪。JBoss 是否在某处缓存类文件?如何清除 JBoss 开发服务器缓存中的所有内容?
我在本地使用 Win XP Pro;开发服务器在 JVM 版本 1.5.0_16-b02 上使用 JBoss 4.2.3.GA,带有 Unix SunOS 5.10。谢谢。
java - Java:使用反射注入字段的最快方法是什么?
假设,我有很多类,它们是使用 Java 反射构造的(出于某种原因)。现在我需要将值后注入到字段中,这些字段用@PostInject
.
我的问题是:使用反射设置字段的快速方法是什么?
请记住,我需要在很多课程上经常这样做,这就是为什么性能是相关的。
这个伪代码显示了我会凭直觉做什么:
- 获取类的所有字段
clazz.getFields();
- 检查,用 @PostInject 注释
eachField.getAnnotation(PostInject.class);
- 使这些字段可访问
eachAnnotatedField.setAccessible(true);
- 将它们设置为某个值
eachAnnotatedField.set(clazz, someValue);
恐怕获得所有领域是最慢的事情。
当我从一开始就知道时,我可以得到一个领域吗?
注意:我不能只让类实现一些接口,这将允许使用方法设置字段。我需要POJO。
NOTE2:为什么我想要后字段注入:从 API 用户的角度来看,必须可以使用 final 字段。此外,当API先验不知道字段的类型和数量时,不可能使用接口来实现字段初始化。
NOTE2b:从用户的角度来看,最终的合同没有被破坏。它保持最终状态。首先,一个字段被初始化,然后它不能被改变。顺便说一句:有很多 API 使用这个概念,其中之一是 JAXB(JDK 的一部分)。