是否有更新的方式只有一些领域使用该方法的实体对象save从春数据JPA?
例如,我有一个像这样的JPA实体:
@Entity
public class User {
@Id
private Long id;
@NotNull
private String login;
@Id
private String name;
// getter / setter
// ...
}
Run Code Online (Sandbox Code Playgroud)
凭借其CRUD回购:
public interface UserRepository extends CrudRepository<User, Long> { }
Run Code Online (Sandbox Code Playgroud)
在Spring MVC中,我有一个控制器,它获取一个User对象来进行更新:
@RequestMapping(value = "/rest/user", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<?> updateUser(@RequestBody User user) {
// Assuming that user have its id and it is already stored in the database,
// and …Run Code Online (Sandbox Code Playgroud) 我有一个User在一个函数中被赋予系统特权的实体.我有一个网页,您可以从下拉列表中选择用户并将表单提交给服务器.在服务器端,我想只更新该实体的一个字段.
我的用户实体将具有除了设置的一个字段及其id之外的所有对象的默认值.我是否需要findById更新特定字段然后进行合并,或者有没有办法告诉只更新该字段?
我有3个非抽象的持久化类.MyClubUser和HisClubUser类继承自User类.我为每个子类策略使用一个表,即@Inheritance(strategy = InheritanceType.JOINED)对于这些类.
我观察到的是当我对User类进行查询时,生成的SQL使用左外连接HisClubUser和MyClubUser.为什么Hibernate会这样做[加入其他表格]我的关注点只是用户?我的观点是,即使检索到数据,我也无法在MyClubUser或HisClubUser中访问这些属性,因为返回了User实例.此外,与仅查询没有左外连接的User表的查询相比,这是否会导致额外的开销?
谢谢