Hibernate: «идентификатор экземпляра, измененного с A на B» - PullRequest
0 голосов
/ 16 июня 2011

У меня есть следующий фрагмент JSF:

<h:form>
    <h:selectOneMenu value="#{customerBean.customer.country.id}" >
        <f:selectItem itemLabel="-SELECT ONE-"/>
        <f:selectItems value="#{customerBean.countries}" var="country" itemLabel="#{country.name}" itemValue="#{country.id}" />
    </h:selectOneMenu>
    <a4j:commandButton value="Update" action="#{customerBean.update}" execute="@form" />
</h:form>

И боб:

@ManagedBean
@ViewScoped
public class CustomerBean implements Serializable
{
    private Customer customer;
    private List<Country> countries;

public String update()
{
            //These fields are not available for the user to edit.
            customer.setStatus("M");
    customer.setUpdateUser("ADMIN");
            customer.setUpdateDate(new Date(Calendar.getInstance().getTimeInMillis()));

    customerDAO.update(customer);

    return null;
}
}

Всякий раз, когда я выбираю другую страну для данного клиента и пытаюсь сохранить ее, я получаюуказанная ошибка, как будто я пытался изменить идентификатор страны, а не просто привязывать экземпляр страны к клиенту.

Я использую Richfaces 4 / Tomcat 7 / Hibernate 3.6

Есть идеи, что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...