【发布时间】:2013-11-22 14:10:35
【问题描述】:
Person 只能拥有一辆车,但在数据表中,我想显示列表中的所有汽车,但选择 person 所属的一个用户。这样用户就可以随时更新任何人的汽车。
假设我有两个tables
Person
id
name
car_id
Cars
id
name
理想情况下,person 应该有Cars id 作为primary 键,但事实并非如此。所以每个人都有车,对吧。
现在我在数据表中显示person 的列表,例如
------------------------------------
Name | Car
----------------------------------------
ABC | 1
DDD | 2
但我想表现得像:
------------------------------------
Name | Car
----------------------------------------
ABC | Toyota
DDD | Ford
现有代码:
<p:dataTable value="#{test.persons} var="person">
<p:column headerText="Name">
#{person.name}
</p:column>
<p:column headerText="Name">
#{person.carID}
</p:column>
</p:dataTable>
但我想做这样的事情:
<p:dataTable value="#{test.persons} var="person">
<p:column headerText="Name">
#{person.name}
</p:column>
<p:column headerText="Car">
<p:selectOneMenu value="#{test.selectedCar}"
converter="entityConverter">
<f:selectItems value="#{spMBean.cars}" var="car"
itemLabel="#{car.name}" itemValue="#{car}" />
</p:selectOneMenu>
</p:column>
</p:dataTable>
如果有人可以帮助我,我将不胜感激。
【问题讨论】:
-
你在使用像 Hibernate 这样的 ORM 工具吗?
Ideally , person should have Cars id as primary key but that is not the case. So each person has car ,right.这个说法我没看懂,我觉得你的模型是对的。 -
是的,我正在使用 JPA Hibernate。实际上,我有类似的表,即使 Person 有汽车 ID,但它没有 Cars 表的主键作为外键。我知道数据库设计不对。
-
该模型否认一个人拥有不止一辆汽车的可能性,这是理想的吗?我相信你的模型需要更加完善......
-
没错,一个人应该只有一辆车,但我希望用户能够从下拉列表框中更改汽车。
-
如果每个人只有一辆车,则车型正确。
标签: jsf primefaces datatable selectonemenu