可悲的是我不得不问这个问题,但是我如何在我的Postgres DB中存储一个char,但是显示String来选择值。 我正在用JSF创建一个Web应用程序。
所以我的.xhtml:
<p:outputLabel for="gender" value="Geschlecht:" />
<p:selectOneMenu id="gender" value="#{telefonbuchController.telefonbuch.gender}" style="width:125px">
<f:selectItem itemLabel="Auswählen" itemValue="" />
<f:selectItems value="#{telefonbuchController.genderList}" var="c" itemLabel="#{gender}" itemValue="#{gender}"/>
</p:selectOneMenu>
型号:
@Column
private char gender;
在表单的控制器中,我创建了一个男性和女性字符串列表,并使用PostConstruct对其进行初始化。
private List<String> geschaeftsstellen;
在这里,您将看到它的外观。我用一个字符串实现了它,但是我只想在数据库中存储'm'和'f'而不是整个字符串。
答案 0 :(得分:0)
像这样实现它:
public enum Gender {
MALE('m'),
FEMALE('f')
;
private char shortGender;
public Gender (char shortGender) {
this.shortGender = shortGender;
}
public char getShortGender() {
return shortGender;
}
}
在您的模板中,itemLabel
和itemValue
使用不同的值,即:
itemLabel="#{gender}" itemValue="#{gender.shortGender}"