spring data jpa 的save()方法
来源:4-2 买家类目-dao(下)
 
			朱小悬
2017-11-23
老师,JpaRepository的save(product)方法做更新操作,更新商品的库存和价格,所以入参的product只 设置了商品的库存和价格,结果调用完save方法后,除了库存和价格的数据变了,其他字段全部被更新成了 null,学生要怎么做,才能动态更新我需要的更新的字段,而其他不需要更新的字段不会被更新到
写回答
	2回答
- 
				  廖师兄 2017-11-26 你对这个动态更新理解有误。 要先查询,再更新 OrderMaster orderMaster = repository.findOne("1234567"); orderMaster.setBuyerName("师兄22222333"); OrderMaster result = repository.save(orderMaster);如果没有加@DynamicUpdate,控制台打印如下 Hibernate: update order_master set buyer_address=?, buyer_name=?, buyer_openid=?, buyer_phone=?, create_time=?, order_amount=?, order_status=?, pay_status=?, update_time=? where order_id=? 如果加了,会是这样 Hibernate: update order_master set buyer_name=? where order_id=? 我猜测你的做法应该是直接new一个对象,然后save它,你想一下,假如属性值是null, 那Jpa怎么知道你想要忽略还是真的设置为null呢 022017-11-27
- 
				  廖师兄 2017-11-24 在你的model类上加@DynamicUpdate 012017-11-25
相似问题
