【发布时间】:2011-07-09 09:07:47
【问题描述】:
我有
class Person {
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(name = "person_countries", joinColumns = { @JoinColumn(name = "person_id") },
inverseJoinColumns = { @JoinColumn(name = "country_id") })
private List<Country> countries ;
Class country {
@Id
@Column(name = "country_id")
@GeneratedValue
private Integer country_id;
@Column(name = "country_name")
private String country_name;
现在我在表单中显示复选框,以便用户可以选择多个国家。但我很困惑该表格如何将国家对象发送给个人。
addpage.jsp
<form:form modelAttribute="personAttribute" method="POST" action="${saveUrl}">
<form:checkboxes path="countries" items="${countryList}" itemValue="country_id" itemLabel="country_name" />
这是生成的html
<label for="countries2">uk</label></span><span><input id="countries3" name="countries" type="checkbox" value="3"/>
但我很困惑该数据将如何亲自存储国家 obj 我的意思是休眠需要将哪个值存储在关系表中它的值或标签,因为国家名称已经在数据库中。我只需要存储它的 id。
我很困惑映射将如何发生。因为我没有输入国名。它们已经存在于数据库中
【问题讨论】:
标签: java hibernate spring-mvc