Spring 来自多个数据库表的JSF datatable列
我有一个JSF数据表,它有三列,分别是:工作类型描述、项目阶段描述和活动描述。这些列来自两个不同的数据库表,这两个表之间的关系是一对多的 第一个表名为工作类型。它有1)工作类型Cd,2)工作类型描述,3)按名称创建,4)按名称创建,5)按名称更新,6)按名称更新 第二个表名为“活动类型”。它有1)活动Cd,2)工作类型Cd,3)项目阶段,4)活动描述,5)按名称创建,6)创建,7)按名称更新,8)更新Spring 来自多个数据库表的JSF datatable列,spring,hibernate,jsf,nhibernate,jsf-2,Spring,Hibernate,Jsf,Nhibernate,Jsf 2,我有一个JSF数据表,它有三列,分别是:工作类型描述、项目阶段描述和活动描述。这些列来自两个不同的数据库表,这两个表之间的关系是一对多的 第一个表名为工作类型。它有1)工作类型Cd,2)工作类型描述,3)按名称创建,4)按名称创建,5)按名称更新,6)按名称更新 第二个表名为“活动类型”。它有1)活动Cd,2)工作类型Cd,3)项目阶段,4)活动描述,5)按名称创建,6)创建,7)按名称更新,8)更新 我使用Hibernate+Spring+JSF,我的问题是如何在JSF datatable中显
我使用Hibernate+Spring+JSF,我的问题是如何在JSF datatable中显示这三列记录,我是否需要创建一个新的模型域类来存储这两个表的属性?如果是,如何在新模型类中处理PK和FK。谢谢 让您的服务层返回一个
列表
。活动类型
中的@ManyToOne
属性已经引用了工作类型
,对吗
<h:dataTable value="#{bean.activityTypes}" var="activityType">
<h:column>#{activityType.workType.workTypeDesc}</h:column>
<h:column>#{activityType.projectPhase}</h:column>
<h:column>#{activityType.activityDesc}</h:column>
</h:dataTable>
#{activityType.workType.workTypeDesc}
#{activityType.projectPhase}
#{activityType.activityDesc}
通常不需要为此创建另一个映射层。感谢您的帮助!巴卢斯。我试过你的方法,但还是不行。我已经在cfg文件中设置了一对多映射。我只是在DAO层中返回列表作为返回类型,在JSF页面中,在服务层中使用所有这些方法,我遵循了上面的建议。你能指定解决方案吗?谢谢非常感谢。请从开发者的角度而不是最终用户的角度详细说明“不起作用”。你没有给出任何关于它到底失败了什么以及如何失败的线索。谢谢你的回复。当我打开页面时,错误是java.lang.NumberFormatException:For输入字符串:java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)at java.lang.Integer.parseInt(Integer.java:449)at java.lang.Integer.parseInt(Integer.java:499)at javax.el.ArrayELResolver.toInteger(ArrayELResolver.java:375)在javax.el.ArrayELResolver.getValue(ArrayELResolver.java:195)上,JSF似乎无法使用
activityTypes来获取工作类型
显然不是列表
,而是列表
。修复您的JPA查询。这不是JSF的问题。JPA刚刚提供了错误的型号。谢谢!巴卢斯。这是我的hql:从ActivityType as at internal join at.workType,我将返回类型作为List,并保留其他内容。仍然得到了上面的错误。你知道为什么吗?谢谢