草庐IT

java - JSF2 - 由 EJB 或 ManagedBean 支持?

在学习JSF2时,我意识到我不确定支持组件应该是什么。从设计的角度来看,EJB和@ManagedBeans有什么区别?最终还是要用JPA,业务层自然选择EJB。直接从JSF使用EJB是一种好的做法吗(如here所述)?目前,我倾向于将@ManagedBean用于不需要访问业务层(例如View助手)或处理请求/session数据的组件。用于其他目的,例如在网格中列出一些东西,我会直接访问EJB。这是一个好的设计吗?为了干净的层分离,我是否应该对所有支持beans使用@ManagedBeans,即使在某些情况下它们只委托(delegate)给EJB? 最佳答案

java - Hibernate SQL In 子句使 CPU 使用率达到 100%

在我的java应用程序中,我使用SQL服务器和带EJB的Hibernate3。当我尝试使用In子句执行选择查询时,数据库服务器CPU使用率达到100%。但是,当我尝试在SQLmanagementstudio中运行相同的查询时,查询运行时没有任何CPU峰值。应用服务器和数据库服务器是两台不同的机器。我的表具有以下架构,CREATETABLEstudent_table(Student_IdBIGINTNOTNULLIDENTITY,Class_IdBIGINTNOTNULL,Student_First_NameVARCHAR(100)NOTNULL,Student_Last_NameVAR

java - 使用 EntityManager 从 EJB 访问 Hibernate Session

是否可以从EntityManager获取HibernateSession对象?我想访问一些特定于hibernate的API...我已经尝试过类似的方法:org.hibernate.SessionhSession=((EntityManagerImpl)em.getDelegate()).getSession();但只要我在EJB中调用一个方法,我就会得到“在EJB上调用期间发生系统异常”并带有NullPointerException我使用glassfish3.0.1 最佳答案 Bozho和partenon是正确的,但是:在JPA2中

java - 使用 EntityManager 从 EJB 访问 Hibernate Session

是否可以从EntityManager获取HibernateSession对象?我想访问一些特定于hibernate的API...我已经尝试过类似的方法:org.hibernate.SessionhSession=((EntityManagerImpl)em.getDelegate()).getSession();但只要我在EJB中调用一个方法,我就会得到“在EJB上调用期间发生系统异常”并带有NullPointerException我使用glassfish3.0.1 最佳答案 Bozho和partenon是正确的,但是:在JPA2中

java - 当前最佳的单元测试 EJB3/JPA 框架

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭5年前。Improvethisquestion使用EJB3/JPA开始一个新项目,主要是无状态sessionbean和批处理作业。我过去在标准的Javawebapps上使用过JUnit,它似乎工作得很好。在EJB2中,单元测试很痛苦,需要一个运行的容器(例如JBoss)来进行调用。现在我们将在EJB3/JPA中工作,我想知道哪些公司正在使用哪些公司来编写和运行这些测试。Junit和JMock是否仍然被认为是相关的,或者是否有其他新的框

java - 当前最佳的单元测试 EJB3/JPA 框架

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭5年前。Improvethisquestion使用EJB3/JPA开始一个新项目,主要是无状态sessionbean和批处理作业。我过去在标准的Javawebapps上使用过JUnit,它似乎工作得很好。在EJB2中,单元测试很痛苦,需要一个运行的容器(例如JBoss)来进行调用。现在我们将在EJB3/JPA中工作,我想知道哪些公司正在使用哪些公司来编写和运行这些测试。Junit和JMock是否仍然被认为是相关的,或者是否有其他新的框

java - 尝试定义模块时,Maven 无法将 EJB 识别为项目的依赖项

今天我将本地Glassfish服务器升级到3.1.1,为我公司将服务器升级到相同版本做准备。我正在尝试将我的Web服务项目转换为与新服务器配合使用,但遇到了障碍。在我耳朵的pom文件中,我之前将webapp和ejb都列为依赖项。在webapp的pom中,我也将ejb列为依赖项。尝试将此配置部署到Glassfish3.1.1时,我收到此错误:Erroroccurredduringdeployment:Exceptionwhiledeployingtheapp[ear]:CannotresolvereferenceLocalejb-refname=name,Local3.xinterfac

java - 尝试定义模块时,Maven 无法将 EJB 识别为项目的依赖项

今天我将本地Glassfish服务器升级到3.1.1,为我公司将服务器升级到相同版本做准备。我正在尝试将我的Web服务项目转换为与新服务器配合使用,但遇到了障碍。在我耳朵的pom文件中,我之前将webapp和ejb都列为依赖项。在webapp的pom中,我也将ejb列为依赖项。尝试将此配置部署到Glassfish3.1.1时,我收到此错误:Erroroccurredduringdeployment:Exceptionwhiledeployingtheapp[ear]:CannotresolvereferenceLocalejb-refname=name,Local3.xinterfac

java - 为什么不调用 PostConstruct?

我正在开发一个简单的JavaEE应用程序。我有这样的课:importjavax.annotation.PostConstruct;importjavax.ejb.Stateless;importjavax.persistence.EntityManager;importjavax.persistence.EntityManagerFactory;importjavax.persistence.Persistence;@StatelesspublicclassBlogEntryDao{EntityManagerem;@PostConstructpublicvoidinitialize()

java - 为什么不调用 PostConstruct?

我正在开发一个简单的JavaEE应用程序。我有这样的课:importjavax.annotation.PostConstruct;importjavax.ejb.Stateless;importjavax.persistence.EntityManager;importjavax.persistence.EntityManagerFactory;importjavax.persistence.Persistence;@StatelesspublicclassBlogEntryDao{EntityManagerem;@PostConstructpublicvoidinitialize()