Java Spring启动实体DynamicCupDate
我在Spring Boot上编写API时遇到了实体部分更新的问题。例如,当我想更新用户名时,spring会将其他字段视为null,并将数据库中的数据替换为null。正如我在文档中所读到的那样,@DynamicUpdate必须解决这个问题,但它对我不起作用 这是我的用户实体Java Spring启动实体DynamicCupDate,java,spring,api,spring-boot,Java,Spring,Api,Spring Boot,我在Spring Boot上编写API时遇到了实体部分更新的问题。例如,当我想更新用户名时,spring会将其他字段视为null,并将数据库中的数据替换为null。正如我在文档中所读到的那样,@DynamicUpdate必须解决这个问题,但它对我不起作用 这是我的用户实体 @Entity @Table(name="users") @DynamicUpdate public class User { @Id @GeneratedValue(strategy = Generation
@Entity
@Table(name="users")
@DynamicUpdate
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
//other fields...
}
改用合并
与实体的性能问题
dynamicUpdate=true
在传统设计的多列大型表或包含大量数据的大型表中,更新一些未修改的列是绝对不必要的,并且会对系统性能产生很大影响
您是否尝试过“EntitydynamicUpdate=true”
Entity en = sessionFactory.getCurrentSession().get(id);
en.setName("abc");
sessionFactory.getCurrentSession().merge(en);