问题标签 [ejb-3.0]

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.

0 投票
8 回答
1343 浏览

architecture - 是否使用 EJB3?

我有一个架构场景,我想讨论一下以获得您的意见。

我可以在这两者之间进行选择(这是强加给我的约束)

  1. 使用 EJB3+JPA - 没有 Spring/Hibernate
  2. POJO + JDBC - 再次没有 Spring/Hibernate

我有一系列需要集成的 Web 应用程序(仅限 Intranet)。在数据库级别,将有 3 到 4 个 oracle 数据库(每个数据库大约 40 到 50 个表)。对于某些查询,某些应用程序可能会与多个数据库进行交互。并发用户数将少于 100。每个应用程序的用户/受众范围为 10 到 6000(最大值)。

所有应用程序都将部署在一台服务器上,并且数据库和服务器很可能在同一台机器上。

大多数用例将是基于 CRUD 的(有些可以为 ORM 提供良好的域模型,而另一些则不能),带有一些业务流程、自动化作业等。未来可能需要为某些应用程序与 SAP 集成。

您认为在这种情况下 EJB3 会使应用程序更具可扩展性还是只会增加复杂性?如果我使用 POJO 进行设计,我不想无缘无故地增加复杂性。我试图游说 Spring 和 Hibernate,但没有成功。

如果您需要更多详细信息,请告诉我。

编辑:我忘了提到应用程序服务器。现在是 7。

0 投票
2 回答
1406 浏览

jpa - 如何在 EJB3 中使用关系执行批量删除

我试图弄清楚如何对@ManyToOne 关系执行批量删除,到目前为止没有成功。

设想:

父母有很多下载,我想删除父母日期为的所有下载> :some_date。我不想删除任何父记录,只是下载记录。下载有一个使用 @ManyToOne 注释映射的父字段。

我正在尝试在 Download 实体上使用 @NamedQuery 来完成此操作。

有什么建议么?

0 投票
5 回答
17541 浏览

java - java ejb3 @PostConstruct

我正在 JBoss 上试验 EJB3,开发一个无状态 bean。基本上,一旦部署了模块,我就需要执行一些与加载应用程序设置相关的操作。为此,我将一个方法注释为@PostConstruct,据我所知,API 会指示容器在部署 bean 后并在投入使用之前调用它。(正确吗?)现在,我很困惑,因为从登录日志来看,该方法看起来不仅仅是在部署之后调用,而是在调用每个公开的方法之前调用。我只需要调用该方法一次,而不是每次收到调用。最好的方法是什么?

提前致谢

亚历山德罗·伊拉多

0 投票
2 回答
1038 浏览

java - Keeping state with remote EJBs and Web Services

I have a web-based application which makes use of remote EJBs for its business logic. Some of these EJBs are also exposed as Web Services. I need to keep a small state for some of these calls in order to allow subsequent calls to function correctly. Which of the following would you recommend?

  • Stateful EJBs (will this work with Web Services?)
  • Return the state to the client (what if I want to prevent the client from altering the state?)
  • Reload the state from the DB on each method (should I worry about the overhead?)
0 投票
1 回答
144 浏览

mysql - 如何在更改列数据类型和值时保持 Mysql 高可用性?

我正在寻找一种在更改列数据类型和值的同时保持 mysql 和 Web 服务高可用性的策略。场景是:例如,一个学生表有列学生id(整数)、学生姓名(vachar)和排名百分比(整数)。rank percent 中的整数值是百分比整数,例如 10 表示 10%。

现在我想将排名百分比列数据类型更改为小数,例如 10 => 0.1。如果我想在更改期间保持 Web 服务和 mysql 数据库可用而不中断,我应该怎么做?

谢谢!强调文本

PS我的后端服务器是使用J2EE、EJB3开发的。

0 投票
1 回答
2762 浏览

database - Db 迁移 - Hibernate/JPA - hbm2ddl - 差异工具

我用:

  • EJB3 / JPA(休眠)
  • MySQL 5

我必须建立一个系统来帮助数据库迁移。尝试使用 LiquiBase,但它似乎还不够成熟,无法与 Hibernate 一起使用。

我想做的是:

  • 我有 1.0 版的应用程序在生产中
  • 我已经开发和测试了 2.0 版的应用程序
  • 我想在生产中更新应用程序数据库而不丢失数据

实际上,我想使用新persistence.xml数据库和生产数据库来生成旧数据库和新数据库之间的“增量”。我希望能够检索当 hbm2ddl 处于“更新”模式时执行的 SQL 代码。

此 SQL 代码将被修改(drop+create=rename 等...)以避免丢失可能发生的数据hbm2ddl.auto=update

我想这是可能的,因为 Hibernate 在使用hbm2ddl.auto=update. 但我希望能够在 Ant 任务中使用hibernatetool.

我在互联网上找不到很多关于此的信息,所以我想知道是否有人已经在这里做过类似的事情并且可以帮助我。

我做了以下事情:

我真的不知道该怎么做,我能够获得创建 sql 文件,但我只想要增量。我必须把 update="true" ?我可以在应用程序服务器之外使用带有持久性单元的 jpaconfig(数据库设置是在 Glassfish 上的 JNDI 资源上设置的)。(试过了,就是找不到数据库)

我还尝试使用<jdbcconfiguration propertyfile="hibtest.properties"></jdbcconfiguration>或设置数据库的属性,persistence.xml而不是使用 JNDI 资源。

我收到以下错误:

我使用 MySQL,我的 JDBC 属性是:

我的 JDBC MySQL 驱动程序位于${core.lib.server}: mysql-connector-java-5.1.7-bin.jar. (我也尝试放入 classpath <fileset dir="/home/slorber/workspace/core/lib/server" includes="*.jar" />。)

我还将它添加到 Ant(Eclipse 插件)的运行配置类路径中。

所以我的问题是:

  • 我做错了什么来做我想做的事吗?
  • 这是您使用 Hibernate 框架进行数据库迁移的方式吗?(如果不在手工制作的 SQL 文件中写入所有 db 更改,您还会做什么?)
0 投票
1 回答
642 浏览

jsf - 从 Faces BackingBean 调用 EJB3

我有一个简单的 Web 应用程序,打包为 EAR,部署在 Glassfish 上。EAR 有一个 Web 模块和一个 EJB 模块。Web 模块有一个面孔页面和一个 ManagedBean。Faces 页面上只有一个按钮,并且该按钮与 ManagedBean 中的一个方法相关联,单击该按钮确实会触发该方法。

托管bean:

EJB 没有被注入,我得到的错误是:

我需要做什么才能让 Web 模块找到 EJB 模块以及其中的 EJB?

0 投票
1 回答
324 浏览

java - Toplink & java 存储 word 或 pdf 文件

我正在创建一个带有表单的简单页面。部分表格需要上传 pdf 或 word 文档。这将是一个小文件,所以理想情况下我想将它存储在我的 oracle 数据库中。

我正在使用 ejb 和 toplink 来实现我的所有持久性。我的实体类应该有什么对象来保存一个 word 或 pdf 文件,我如何将它映射到 toplink?

0 投票
4 回答
6404 浏览

performance - EJB3 - 另一个 bean 接口的会话 Bean 调用方法

我有一个小问题...我搜索访问仅在 bean 的远程接口中声明的方法与不在本地接口中声明的方法之间的本地访问差异...

接口声明(远程或本地)是否确定方法的访问协议?或者 ejb 容器是否理解两个 bean 都在运行同一个 JVM?有很大的性能差异吗?你有这方面的任何消息来源吗?

BR的

洛朗

0 投票
2 回答
5935 浏览

java - 没有可用外键的 JPA 实体映射

我并没有真正开始使用实体 bean,但它们现在正盯着我看。

我们有几个相互关联的表,但是没有外键,我们不能添加任何外键。对于这个问题,数据库不能改变,这是不可能的,但作为一个不同的解决方案,我们可能会创建视图。无论如何...

我有 3 张桌子。LOCATION 、 LINKS 和 ENDPOINT 以及额外的盐,我们有一个 LINKS_TYPE 表。

LOCATION 表有一个主键 LOCATIONID,它是一个包含位置 ID 的字符串。

LINKS 表有一个 LINKID 作为主键,一列 LINK_ATTR_VALUE_A 包含 ENDPOINT 的主键,一列 LINK_ATTR_VALUE_B 包含 LOCATION 的主键。包含 LINKS_TYPE 主键的列 LINKTYPEID

ENDPOINT 表有一个主键 POINTID

LINKS_TYPE 有主键 LINKTYPEID 列 LINKTYPEA(定义它链接到的表名的文本字符串) 列 LINKTYPEB(定义它链接到的表名的文本字符串)

现在即使提到了 LINKS_TYPE,我现在也不必担心,因为在这个数据库实例中没有其他链接。

我想在我的 LOCATION 实体 'List endPoints' 中定义一个成员,据我了解,这将是一个 @OneToMany。请记住,这里没有外键可以提供帮助,而且永远不会有。

这是我定义的映射...

很可能从这里你可能会意识到我不知道我在做什么 :D 但是文档不是太好,我已经订购了一本书以寻求 ejb 3 的帮助,但我只是没有时间在此之前完成这本书映射:D

我们将 TopLink 与 jdeveloper 11g 以及 weblogic 服务器和 oracle 10g 作为数据库一起使用。

当使用 serviceFacade 客户端进行查询时,一切似乎都正确(从那时起工作区就死了,我必须重新创建项目才能让客户端正常工作)。在我看来,它会生成完美的查询来检索正确的数据。然而,它以没有结果而告终。

我愿意提供尽可能多的信息,只是不确定需要什么。但我知道我的映射很可能是错误的,这是因为我不理解映射。

有人可以帮助我吗?

谢谢你。