我有一个由spring boot jpa执行的插入查询。插入查询触发一个DB触发器,该触发器更新列< code>slug。有没有办法在同一个jpa事务中获取更新后的值(而不是从DB中再次读取记录或使用存储过程)?
为了方便提问,下面的代码进行了简化。
@RestController
@RequestMapping(value = "user")
public class UserController {
@PostMapping
public Invite saveUser(@Validated @RequestBody User user) {
// user.slug is null
User newUser = userRepo.save(user);
// DB insert
// DB trigger has logic to update user.slug column in DB
// newUser.slug is null; in spite of DB having a value for the slug column
}
}
注意:我尝试了这里建议的方法,但不起作用。
我最终显式调用了< code > entitymanager . refresh()。