我试图模仿这个已接受的答案 /sf/answers/2782285201/在仅更新某些对象的字段时使用 Hibernate 代理。我的代码如下所示:
@Transactional
public void updateStudentYear(int uniqueNumber, int newYear) {
Student studentProxy = studentRepository.getOne(uniqueNumber);
studentProxy.setYear(newYear);
studentRepository.save(studentProxy);
}
Run Code Online (Sandbox Code Playgroud)
问题在于 Hibernate 既执行完全选择又执行完全更新。这是日志:
2021-03-10 20:24:23.240 DEBUG 118757 --- [ main] org.hibernate.SQL :从学生中选择student0_.unique_number作为unique_n1_1_0_,student0_.name作为name2_1_0_,student0_.team作为team3_1_0_,student0_.year作为year4_1_0_ Student0_ 其中student0_.unique_number=?
2021-03-10 20:24:23.268 DEBUG 118757 --- [ main] org.hibernate.SQL : 更新学生集 name=?, team=?,year=? 其中 unique_number=?
我原以为只会发出一个“更新年份”语句,但令我惊讶的是,看起来一切都是像经典的 findOne()/save() 对操作一样完成的。我错了吗?
我有一个包含这样内容的文本文件:Bill, 89 Alex, 64 Dan, 29,它代表一些学生的名字和他们的笔记.
我想按笔记对它们进行升序排序,我的想法是为每个名称创建一个整数,例如:int dan = 29;所以我可以对它们进行排序,但我不知道如何从文本文件中为这些名称分配一个整数.
希望你能帮忙,因为这是我第一次制作一个更复杂的程序.谢谢!
我想在春天做一个PUT电话.
这是我的控制器代码:
@RequestMapping(value = "/magic", method = RequestMethod.PUT)
TodoDTO magic(@RequestBody String id){
return service.magic(id);
}
Run Code Online (Sandbox Code Playgroud)
因为我想在通话中传递一个id字符串.
问题是,我收到了这个
{
"timestamp": 1486644310464,
"status": 500,
"error": "Internal Server Error",
"exception": "java.lang.NullPointerException",
"message": "{\n\t\"id\":\"589c5e322abb5f28631ef2cc\"\n}",
"path": "/api/todo/magic"
}
Run Code Online (Sandbox Code Playgroud)
如果我改变这样的代码:
@RequestMapping(value = "/magic", method = RequestMethod.PUT)
TodoDTO magic(@RequestParam(value = "id") String id){
return service.magic(id);
}
Run Code Online (Sandbox Code Playgroud)
我收到
{
"timestamp": 1486644539977,
"status": 400,
"error": "Bad Request",
"exception": "org.springframework.web.bind.MissingServletRequestParameterException",
"message": "Required String parameter 'id' is not present",
"path": "/api/todo/magic"
}
Run Code Online (Sandbox Code Playgroud)
我做了同样的电话,一个PUT在链接http:// localhost:8080/api/todo/magic with body
{
"id":"589c5e322abb5f28631ef2cc"
}
Run Code Online (Sandbox Code Playgroud)
这是我的数据库中一个对象的id. …
mov ah, -128
mov bh, 80h
add ah,bh
Run Code Online (Sandbox Code Playgroud)
为什么这个代码设置CF,考虑到计算不需要进位?或者更好的是,CF在签名算法中的行为和OF在unsigned中的行为是什么?