Переходные переменные не фиксируются должным образом при отправке формы - PullRequest
0 голосов
/ 05 июня 2010

Мой класс сущности «Пользователь» имеет несколько переменных-членов (например, 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>

1 Ответ

0 голосов
/ 01 июля 2010

Мы только что нашли решение этой проблемы. Мы смогли зафиксировать значение выбранной переменной в наших классах действий (например, EntityQuery), но оно не работало в методах @PreUpdate, предоставляемых сущностью. Кажется, теперь это работает нормально.

...