提问者:小点点

插入触发器更新记录,获取jpa中的更新值


我有一个由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
    }
}

注意:我尝试了这里建议的方法,但不起作用。


共1个答案

匿名用户

我最终显式调用了< code > entitymanager . refresh()。