使用hibernate的save操作无效。

        中午快吃饭的时候问小弟任务作的怎么样,小弟突然和我说他遇到一个郁闷问题。在使用POI做Excel数据批量导入程序编写的时候,hibernate的save方法无效。但是从Form表单中提取信息做单个保存有效。Eclipse的控制台没有报错信息。

        刚听问题,觉得很奇怪,把玩Hibernate多年,虽然离精通还相距甚远,但是遇到的大大小小的问题还不少,倒是没有遇到过这种问题。

        凑过去粗看了下程序执行,确实什么问题也没有。控制台无任何信息,页面也按照指定方式进行了跳转。思索着是不是因为多对一、一对多关系中inverse的配置错,导致类本身无法保存信息。可是多对一关系中一方的hbm.xml文件里压根儿就没有配置一对多关系,因此Hibernate应该是以默认的形式执行操作,也就是说应该会保存。         眼下没有错误报告是最大的问题,多少得弄出点错误,我在程序中给需要保持的持久类的ID手动配置了一个不违反唯一性约束的数值,重复保存操作。我知道,一旦制定了ID,hibernate会去执行update操作而非insert/save操作。错误始终是会报的,不过,控制台输出的并非是我所预料的错误,而是告知该记录引用了关联表中不存在的记录。

        这下豁然开朗,回顾小弟写的代码,发现小弟是用new方法构造了一个引用类的对象并set进了需要持久化的对象中,导致hibernate无法保存数据。

        不过不知道为什么之前不报错呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值