如何使用hibernate在Wicket下拉菜单的编辑屏幕中进行ajax查找?
我有以下结构: 甲级 { B值 } B类 { } 它们之间的关系在Hibernate中是双向映射的,因此我使用b.getListOfA检索所有引用b的A,反之亦然 我有一个Wicket应用程序,它有一个编辑屏幕来编辑类a。这个屏幕是从一个DataTable初始化的,DataRowProvider给它的模型是一个LoadableDetachableModel。当不使用ajax时,我可以得到一个非常好的下拉列表,即标准wicket组件,我通过查询所有B来填充该列表 现在,我正在尝试将DropDownChoice设置为AutoCompleteTextBox。这一切都很好,我可以选择一个B,它是填写正确的模型中设置的a 但是,当我尝试保存已编辑的实例时,会出现hibernate异常: org.hibernate.unUniqueObjectException:具有相同标识符值的不同对象已与会话关联 我使用Spring的OpenSessionInView过滤器和saveOrUpdate方法来保存我的对象如何使用hibernate在Wicket下拉菜单的编辑屏幕中进行ajax查找?,ajax,hibernate,wicket,open-session-in-view,Ajax,Hibernate,Wicket,Open Session In View,我有以下结构: 甲级 { B值 } B类 { } 它们之间的关系在Hibernate中是双向映射的,因此我使用b.getListOfA检索所有引用b的A,反之亦然 我有一个Wicket应用程序,它有一个编辑屏幕来编辑类a。这个屏幕是从一个DataTable初始化的,DataRowProvider给它的模型是一个LoadableDetachableModel。当不使用ajax时,我可以得到一个非常好的下拉列表,即标准wicket组件,我通过查询所有B来填充该列表 现在,我正在尝试将DropDown
有什么提示吗?线索?调试提示?如何持久化实体;使用saveOrUpdate或update或merge?如果是第一个,请尝试使用“合并”。合并将不会重新附加实体。请参阅使用saveOrUpdate发布。我想我可以使用merge,虽然我真的很想知道这个问题的原因,如果可能的话可以删除它,因为使用merge有点像是“掩盖”而不知道发生了什么。。也许你有更多的洞察力?