相关疑难解决方法(0)

JPA:仅更新特定字段

是否有更新的方式只有一些领域使用该方法的实体对象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)

java spring jpa spring-data-jpa

51
推荐指数
4
解决办法
5万
查看次数

更新JPA实体中的一个字段

我有一个User在一个函数中被赋予系统特权的实体.我有一个网页,您可以从下拉列表中选择用户并将表单提交给服务器.在服务器端,我想只更新该实体的一个字段.

我的用户实体将具有除了设置的一个字段及其id之外的所有对象的默认值.我是否需要findById更新特定字段然后进行合并,或者有没有办法告诉只更新该字段?

jpa

10
推荐指数
2
解决办法
2万
查看次数

Hibernate继承策略及其原因

我有3个非抽象的持久化类.MyClubUser和HisClubUser类继承自User类.我为每个子类策略使用一个表,即@Inheritance(strategy = InheritanceType.JOINED)对于这些类.

我观察到的是当我对User类进行查询时,生成的SQL使用左外连接HisClubUser和MyClubUser.为什么Hibernate会这样做[加入其他表格]我的关注点只是用户?我的观点是,即使检索到数据,我也无法在MyClubUser或HisClubUser中访问这些属性,因为返回了User实例.此外,与仅查询没有左外连接的User表的查询相比,这是否会导致额外的开销?

谢谢

inheritance hibernate

2
推荐指数
1
解决办法
7122
查看次数

标签 统计

jpa ×2

hibernate ×1

inheritance ×1

java ×1

spring ×1

spring-data-jpa ×1