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

问题描述 投票:2回答:1

在我基于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()。我可以确定Spring在Hibernate / JPA的帮助下不会在我的数据库中创建记录。如果我在@Component类而不是POJO中做同样的事情该怎么办?

java spring spring-boot spring-data-jpa spring-data
1个回答
4
投票

使用new关键字创建新实体不会对db进行任何插入。该实体处于独立状态。你必须将这个实体传递给reporitory.saveentityManager.persistentityManager.merge ......但是由于长期persist没有被调用(直接或间接),它是一个在数据库中没有表示的常规pojo。

© www.soinside.com 2019 - 2024. All rights reserved.