hibernate 可以更新不可以保存,请问怎么回事

问题描述

domai:GouSite和GouSitePro其中GouSitePro表中有外键site_id对应GouSite的ID,唯一。GouSite中:private GouSitePro gouSitePro ;GouSite.hbm.xml中: <many-to-one name="gouSitePro" class="com.g.admin.hbm.GouSitePro" cascade="all" update="false" column="id" unique="true" not-null="false" lazy="false"/>GouSitePro中:private GouSite gouSite;GouSitePro.hbm.xml中: <many-to-one name="gouSite" column="Site_id" class="com.g.admin.hbm.GouSite" unique="true"/>现在保存GouSite无法保存GouSitePro,因为GouSitePro中有gouSite属性,因此要保存gouSite之后才能保存GouSitePro。调试中发现saveorupdate(GouSite)的时候首先是保存GouSitePro对象。因此无法保存成功,但是修改没有问题。因为GouSitePro不为空。现在要新增,怎样才能在保存GouSite之前先保存GouSite再保存GouSitePro呢? 问题补充:woaiwofengkuang 写道

解决方案

hbm文件有问题吧,怎么两方全是mang-to-one。在GouSite中应该是<set><one-to-many/></set>这种形式。如果是<many-to-one>会认为GouSite是个子,在保存子时没有父,肯定保存不成功。
解决方案二:
先搞明白你这两个类是那个类型的关联。再说吧。
解决方案三:
这是外建没有的原因。又向关联一定要指定一方为主。
解决方案四:
如果是一对一的话,不基于中间表的在另一端要用one-to-one,基于中间表的一定要在一端指定inverse="true"。

时间: 2024-09-22 16:59:28

hibernate 可以更新不可以保存,请问怎么回事的相关文章

hibernate注解多对多级联保存怎么解

问题描述 hibernate注解多对多级联保存怎么解 @ManyToMany(mappedBy=""sysUsers""cascade={CascadeType.PERSISTCascadeType.MERGE}) private Set<SysDept> sysDept = new HashSet<SysDept>(0); //部门 @ManyToMany( cascade={CascadeType.PERSISTCascadeType.M

紧急求救,在线等,hibernate插入更新数据报错

问题描述 紧急求救,在线等,hibernate插入更新数据报错 各位好: hibernate报错麻烦各位看一下,在本地和测试环境都没有问题.提到生产上后,就一直报这个错 2016-05-07 12:16:08:WARN http-8888-3 org.hibernate.util.JDBCExceptionReporter - SQL Error: 1, SQLState: 23000 2016-05-07 12:16:08:ERROR http-8888-3 org.hibernate.uti

exception-安卓空指针 异常 请问 怎么回事 小弟刚开始写安卓代码

问题描述 安卓空指针 异常 请问 怎么回事 小弟刚开始写安卓代码 03-30 12:16:38.625: E/AndroidRuntime(19941): FATAL EXCEPTION: main 03-30 12:16:38.625: E/AndroidRuntime(19941): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.voldian/com.voldian.voldian.shangc

xhr-onblur事件没有执行,请问怎么回事?

问题描述 onblur事件没有执行,请问怎么回事? <script type="text/javascript"> var xhr; function createXMLHttpRequest1() { alert(">>>"); } function createXMLHttpRequest() { if (window.ActiveXObject) {//如果是IE浏览器 return new ActiveXObject("

tab control insertItem出错,请问怎么回事啊?

问题描述 我这样做的建一个mfc单文档然后在那个"关于"对话框里面加入了一个TabControl然后为它增加一个控件变量然后在OnInitDialog中写m_TAB.InsertItem(0,_T("NewTAB1"));m_TAB.InsertItem(1,_T("NewTAB2"));m_TAB.InsertItem(2,_T("NewTAB3"));m_TAB.InsertItem(3,_T("NewTAB4&

mac-求大神帮忙解决!Mac下在xcode里编译opencv出现下面错误请问怎么回事?

问题描述 求大神帮忙解决!Mac下在xcode里编译opencv出现下面错误请问怎么回事?

c++-RegOpenKeyEx调用失败返回5 ,管理员运行不管用 win7VS2013 请问怎么回事?

问题描述 RegOpenKeyEx调用失败返回5 ,管理员运行不管用 win7VS2013 请问怎么回事? 代码 LONG lRegRet; HLOCAL hLocal; HKEY hKeyUser; PTSTR pszEnvironmentName = NULL; PTSTR pszEnvironmentValue = NULL; pszEnvironmentName = (PTSTR)malloc(MAX_PATH * sizeof(TCHAR)); GetDlgItemText(hDlg,

请问可以根据messageid去更新本地已保存的message吗?怎么操作?

问题描述 解决方案 可以,可以看下EMMessage头文件/*! @method @brief  更新消息发送状态 @result 是否更新成功 */- (BOOL)updateMessageDeliveryStateToDB;/*! @method @brief  更新消息扩展属性 @result 是否更新成功 */- (BOOL)updateMessageExtToDB;/*! @method @brief  更新消息的消息体 @result 是否更新成功 */- (BOOL)updateM

Hibernate如何更新自身的对象属性

问题描述 现在联系使用hibernate,经常遇到的问题是,不如一个emp表的Employee对象,其中有一个属性Department对象关联到dept表,我想更换Employee对象的部门.我通常的做法是JavacodeEmployeeemp=getEmpDAO().findById(id);//获取该员工//dId为要更改的部门编号Departmentdept=getDeptDAO().findById(id);//获取要更改的部门emp.setDepartment(dept);//更新职员