Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 迁移到WildFly 8.2.0后更新失败_Jsf_Wildfly_Seam - Fatal编程技术网

Jsf 迁移到WildFly 8.2.0后更新失败

Jsf 迁移到WildFly 8.2.0后更新失败,jsf,wildfly,seam,Jsf,Wildfly,Seam,我们已经将我们的应用程序从JBoss 5.1.0 GA迁移到WildFly 8.2.0,为了实现这一点,我们将我们的技术升级到以下版本 JBoss Seam 2.2.0 to Seam 2.3.1 Hibernate 3.3.0 to 4.0.1 JSF 1.2 to 2.1 我们能够加载所有页面并成功保存数据。但是,当我们使用EntityHome时,无法更新数据 我正在使用h:commandButton保存数据 <h:commandButton id="save"

我们已经将我们的应用程序从JBoss 5.1.0 GA迁移到WildFly 8.2.0,为了实现这一点,我们将我们的技术升级到以下版本

JBoss Seam 2.2.0 to Seam 2.3.1
Hibernate 3.3.0 to 4.0.1
JSF 1.2 to 2.1
我们能够加载所有页面并成功保存数据。但是,当我们使用EntityHome时,无法更新数据

我正在使用h:commandButton保存数据

<h:commandButton id="save" 
                 styleClass="button" 
                      value="Save" 
                     action="#{userDetailMgr.doPersist}"
                   rendered="#{!userDetailHome.managed}"/>  

        <h:commandButton id="update" 
                 styleClass="button" 
                      value="Save" 
                     action="#{userDetailMgr.doUpdate}"
                   rendered="#{userDetailHome.managed}"/>
根据UserDetailHome isManaged()中的sysout,我观察到,在加载页面时,我们在EntityHome的getInstancc()中加载所选日期时得到了正确的值(true)。, 加载页面后,EntityHome中的值将不再可用

当我们试图更新(任何操作)数据时,我们没有得到所选实例的数据,该实例在页面加载时被加载,它正在给主键为null的新实例。由于所选实例在getInstance()中不可用,因此将其视为新条目,而不更新现有条目

下面是components.xml中的配置

<persistence:managed-persistence-context auto-create="true"
name="entityManager"
persistence-unit-jndi-name="java:/projectEntityManagerFactory" />

在persistence.xml中

 <property name="jboss.entity.manager.factory.jndi.name"
value="java:/projectEntityManagerFactory" /> 
<property name="hibernate.transaction.jta.platform"  
 value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform" />

我怀疑这个问题是因为迁移了seam版本


如果我遗漏了什么,请告诉我。

我解决了这个问题。之前我们使用的是JSF2.1.29,现在我将JSF降级到2.1.7,这是Seam 2.3.1提供的内置版本。

我解决了这个问题。之前我们使用的是JSF2.1.29,现在我将JSF降级到2.1.7,这是Seam 2.3.1内置的。

O/T(可能不是)。。。Wildfly 8.2包含Mojarra 2.2.7,那么为什么要“升级”到2.1呢?(2.1是api,不是版本)Seam已经死了,为什么不迁移到CDI?Wildfly包含CDI 1.2。。。它包含Hibernate4.3.7,那么为什么要“升级”到4.0.1(为什么不使用JPA?)。如果我是对的,很可能是因为接缝的原因。。。因为我们使用的是Seam 2.3.1,它不支持JSF 2.2.7,所以我们使用的是JSF 2.1x。虽然seam已经死了,但我们希望在WildFly上运行我们的应用程序时,更改和影响更少,所以我们决定使用seam 2.3.1。我们在我们的项目中使用JPA,我在帖子中没有提到。甚至我都怀疑这与Seam有关。好的,但是现在你正在“升级”一个旧的应用程序到一个新的应用程序,从一开始就已经是一个新的旧的应用程序。。。如果我是CTO…O/T(可能不是)。。。Wildfly 8.2包含Mojarra 2.2.7,那么为什么要“升级”到2.1呢?(2.1是api,不是版本)Seam已经死了,为什么不迁移到CDI?Wildfly包含CDI 1.2。。。它包含Hibernate4.3.7,那么为什么要“升级”到4.0.1(为什么不使用JPA?)。如果我是对的,很可能是因为接缝的原因。。。因为我们使用的是Seam 2.3.1,它不支持JSF 2.2.7,所以我们使用的是JSF 2.1x。虽然seam已经死了,但我们希望在WildFly上运行我们的应用程序时,更改和影响更少,所以我们决定使用seam 2.3.1。我们在我们的项目中使用JPA,我在帖子中没有提到。甚至我都怀疑这与Seam有关。好的,但是现在你正在“升级”一个旧的应用程序到一个新的应用程序,从一开始就已经是一个新的旧的应用程序。。。如果我是CTO。。。
<persistence:managed-persistence-context auto-create="true"
name="entityManager"
persistence-unit-jndi-name="java:/projectEntityManagerFactory" />
 <property name="jboss.entity.manager.factory.jndi.name"
value="java:/projectEntityManagerFactory" /> 
<property name="hibernate.transaction.jta.platform"  
 value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform" />