只更新hibernate / Spring MVC中的nonEmpty / nonNull字段

时间:2015-12-13 00:14:27

标签: java hibernate spring-mvc

我有下一个情况。我有类用户这是用于添加/编辑/删除用户的实体和绑定JSP表单 - 它有3个不同的按钮。我的问题是当我想编辑特定用户时(我输入我要在表单中编辑的用户名和字段),hibernate生成带有所有字段的SQL查询:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

<input type="number" />
<input type="text" />
<input type="button" />
<input type=""/>
<input />

问题是其他人是空的还是空的。我得到错误:

Hibernate: update users set user_age=?, user_country=?, user_email=?, user_login=?, user_name=?, user_password=?, user_status=? where user_id=?

如何让hibernate生成这样的东西(如果我把新的年龄放入表单中):

org.hibernate.StaleStateException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1

@DynamicUpdate(value = true) - 不起作用。我认为此anotation仅适用于在登录表单分析和绑定后未创建的对象。

1 个答案:

答案 0 :(得分:1)

When the user submits the form you need to pull the User fresh from the database using hibernate and then set the value of the property on that object. Then save it. That way the other values aren't empty or null.