提问者:小点点

在没有任何Spring交互的情况下在Spring中创建Entity实例


在我基于spring-data-rest的项目中,我有一些使用@Entity注释的类。

@Entity
@Table(name = "my_table)
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class MyTable extends BaseTableEntity {
    private String name;
    private String description;
}

现在我不太确定Spring如何处理用该注释注释的类的新实例的创建。我需要创建这样一个Entity类的对象,以确保没有数据库操作发生。

为了清楚起见,假设我在一个POJO类中做了MyTable table=new MyTable()。我能确定在Hibernate/JPA的帮助下Spring不会在我的数据库中创建记录吗?如果我在@Component类而不是POJO中做同样的事情呢?


共1个答案

匿名用户

使用new关键字创建一个新实体不会对db进行任何插入。该实体处于分离状态。您必须将此实体传递给reporitory.saveentityManager.可持续entityManager. merge…但是只要可持续未被调用(直接或间接),它就是一个常规的pojo,在数据库中没有表示。