Мой класс сущности «Пользователь» имеет несколько переменных-членов (например, String firstName), которые сохраняются, и некоторые переходные переменные (например, выбранные временные логические переменные), которых нет.
Я использовал переменную переходного процесса для захвата выбора флажка, но неизменно значение никогда не устанавливается и не обрабатывается должным образом, пока я не установлю другое значение компонента вместе с ним.
т.е. Если у пользователя firstName (сопоставлено с текстовым полем) и выбрано (сопоставлено с флажком)
Если я только что выбрал значение, кажется, не устанавливается при обновлении
Если я установил флажок и поле firstName, значение «selected» будет зафиксировано правильно
Может кто-нибудь сказать мне, почему это происходит?
@Entity @Table(name = "User")
public class User implements Serializable {
@Id @GeneratedValue(strategy = IDENTITY)
@Column(name = "id", unique = true, nullable = false, insertable = false, updatable = false)
private Integer id;
@Column(name = "first_Name")
private String firstName;
@Transient private boolean selected; // getters and setters
}
<rich:dataTable value="#{users}" var="_user" style="width:auto;">
...
<rich:column>
<f:facet name="header">Select</f:facet>
<h:selectBooleanCheckbox value="#{_user.selected}"/>
</rich:column>
</rich:dataTable>