草庐IT

mysql - 您必须为此表至少定义一个映射

此问题已关闭我正在尝试制作一个可以发送消息的应用程序。当我创建新消息时,我必须创建对话表以区分用户A、B、C的对话。然后创建conversation_member以插入消息的所有接收者,然后在消息表中插入消息内容和发件人。啊,试着检查ERD来澄清事情……抱歉,解释事情不好谢谢..这里真的需要帮助......实体对话@Entity@Table(name="conversation")@XmlRootElement@NamedQueries({@NamedQuery(name="Conversation.findAll",query="SELECTcFROMConversationc"),

Java EE EJB作为可运行的执行者

此代码是否可以使用JavaEE规格,可以使用?@StatelesspublicclassSomeBean{@InjectprotectedTransactedRunnertxRunner;publicvoidsomeFunc(){txRuner.run(newRunnable(){Connectionc=ds.getConnection();//dojdbcstufforjpastuff//closeeverythingetc.});}}@StatelesspublicclassTransactedRunner{@TransactionAttribute(REQUIRES_NEW)public

android - 带有桌面、android 和 ios 客户端的 java-ee 应用程序

我正在使用javaenterprise和glassfish构建一个应用程序。客户端和服务器之间的信息通常是少量数据,但有时客户端需要获取更大的资源(通常为1-20MB)。我还在规划系统的架构,我需要一些关于如何将服务器上的资源暴露给多个客户端的建议。最初我只打算在javaws和glassfish提供的ACC中运行一个桌面客户端应用程序。我将远程接口(interface)放在一个单独的jar中,并计划通过调用通过这些接口(interface)公开的EJB方法来完成所有客户端服务器接口(interface)。对于Java桌面客户端来说,这一切都很好。对于Android客户端来说,它甚至应该

java - 如何在 Java EE 中启动后台进程

我想在JavaEE(OC4J10)环境中启动后台进程。只用“新线程”启动线程似乎是错误的,但我找不到好的方法。在我的特殊情况下使用JMS队列很困难,因为我用于此方法调用的参数不可序列化。我还考虑过在sessionbean上使用onTimeout计时器方法,但这不允许我传递参数(据我所知)。是否有任何“经典”方法来处理这样的任务,或者我只需要恢复到“新线程”或java.concurrent.ThreadPool。 最佳答案 JavaEE通常会尝试消除开发人员对线程的关注。(这方面的成功是一个完全不同的话题)。JMS显然是处理此问题的首

java - 带有 ejb 模块的 Maven ear 项目。生成 application.xml 时出错

当编译以下pom时,我得到一个异常,说明项目中缺少core依赖项:[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-ear-plugin:2.8:generate-application-xml(default-generate-application-xml)onprojecttheear:Artifact[ejb:com.myapp:core]isnotadependencyoftheproject.->[Help1]theear是这样设置的:...theearearcom.myappweb${application.

java - 集合与列表与数组作为 EJB 方法的返回类型

最近有人告诉我,作为EJB方法的返回值,集合应该优于列表。论据是,一般来说,集合更通用,即让您可以在不影响客户端的情况下更改底层数据结构。如果这是您作为设计师想要的灵active,那么使用集合会更有意义。但是只返回一个数组而不是集合不是更有意义吗?如果有性能影响是什么?提前致谢。 最佳答案 比数组更喜欢集合;使用泛型使用接口(interface)而不是具体类那么你通常有4个选项:List、Set、Collection和Iterable。这取决于您要包含的语义。如果是内部API——根据集合的特点决定:它是否只包含独特的项目?设置客户是

java - 如何在部署时启动 EJB 计时器?

我需要创建一个设置为每周自动运行一次的间隔计时器。我不希望它根据用户输入启动,但我希望它在应用程序部署到服务器时创建。我见过的每个例子都有另一个启动计时器的类。我不想使用消息驱动的bean来创建计时器,因为审计应该只是在给定时间段内查询数据库,而不是基于发送消息的操作。我已经包括了一个定时器的例子。在下面的示例中,计时器应每10分钟触发一次。作为测试,我希望计时器每10分钟触发一次,以便我可以测试计时器。@StatelesspublicclassTimerTestimplementsTimerTestLocal,TimerTestRemote{@ResourceprivateTimer

java - 使用 Arquillian 测试安全 EJB

我正在使用JBoss6.1,我得到了一个安全的EJB,它的方法用@RolesAllowed("Admin")注释。我正在尝试使用Arquillian测试此方法。我在测试的@Before中成功登录了EJB,但是调用方法失败。从TRACE日志中,我可以看到主体和角色是正确的(在本例中是'myuser'和'Admin'),但是安全EJB的方法信息是错误(requiredRoles为空)。TRACE[org.jboss.security.plugins.authorization.JBossAuthorizationContext]Controlflagforentry:org.jboss.s

java - Tomcat 上的 JSF - 为什么这可能?

我有一个简单的问题(而且很愚蠢-我真可耻:)据我了解,Tomcat是一个实现了Servlet/JSP规范的web容器。Tomcat不是功能齐全的JavaEE应用程序服务器-因此,我无法在Tomcat上部署和运行基于EJB的应用程序。到目前为止一切顺利。但是...我能够在Tomcat上部署和运行JSF应用程序。JSF——据我所知——它是JavaEE的一部分,并由EJB“支持”(例如,您使用无状态/有状态bean)。底线:为什么我能够运行由EJB支持的JSF应用程序,而不能部署“常规”EJB应用程序(即非JSF)。提前致谢=) 最佳答案

java - 为什么抛出EJBException是 "recommended"的做法?

我不断地从许多开发人员那里得到这个“建议”。根据我的经验,我发现EJBExceptions非常适合从bean实例的角度来看的“世界末日”(比如当出现错误以至于bean实例无法自行恢复时)。如果一个实例可以恢复,我认为抛出一个应用程序异常会更好。这是我一次又一次遇到的模式:privateSomeResourceresource;ejbCreate:resource=allocateResource(...);omMessage:try{...}catch(JMSExceptione){thrownewEJBException(e);}ejbRemove:freeResource(reso