Java Spring数据:使用另一个实体的布尔字段创建实体(和DB条目)
我使用Spring Boot、Spring Data和JPA Rest存储库以及MySQL作为数据库,在创建实体时,我想做几件事 假设我有一个MainChecker实体,每个实体都有各种各样的检查器,需要在创建/更新MainChecker时创建/删除或更新这些检查器 这就是我想做的:Java Spring数据:使用另一个实体的布尔字段创建实体(和DB条目),java,mysql,jpa,spring-boot,spring-data-rest,Java,Mysql,Jpa,Spring Boot,Spring Data Rest,我使用Spring Boot、Spring Data和JPA Rest存储库以及MySQL作为数据库,在创建实体时,我想做几件事 假设我有一个MainChecker实体,每个实体都有各种各样的检查器,需要在创建/更新MainChecker时创建/删除或更新这些检查器 这就是我想做的: @Entity @Table(name="master_checker", catalog="checkers") public class MasterChecker() { p
@Entity
@Table(name="master_checker", catalog="checkers")
public class MasterChecker() {
private Long id;
private Boolean blueChecker;
private Boolean greenChecker;
private Boolean redChecker;
// constructors
// getters and setters
}
使用Spring数据存储库将MainChecker实体从前端插入我的数据库(因此它将是带有参数的JSON)
这些MainChecker实体中的每一个都将具有布尔字段(以及其他字段)
基于这些布尔字段,我想相应地对其他实体进行CRUD。
因此,如果MainChecker的某些布尔值更改为false(例如,redChecker),我想删除该redChecker。但其他跳棋仍将保留(例如绿色和蓝色)
奖金问题一个字段是JSON,其中包含用于创建这些其他实体的参数
一个非常简单的例子:
@Entity
@Table(name="master_checker", catalog="checkers")
public class MasterChecker() {
private Long id;
private Boolean blueChecker;
private Boolean greenChecker;
private Boolean redChecker;
// constructors
// getters and setters
}
我有一些想法,但不确定哪一个是好办法
如何做到这一点(以优雅而得体的方式)?一个选项是使用RepositoryEventHandler,例如
@BeforeCreate
和@BeforeSave
它将允许您在创建/更新对象的过程中添加一些额外的逻辑,例如,您可以检查这些检查器是否正确,并在存储库中执行所需的CRUD操作
有关更多信息,请参见。您是否查看过RepositoryEventHandler,例如@BeforeCreate和@BeforeSave?这些将允许您在创建/更新对象的过程中添加一些额外的逻辑,例如,您可以检查这些检查器并在存储库中执行所需的CRUD操作如何做到这一点(以优雅而得体的方式)?通过在
main Checker
和Checker
实体之间建立@OneToMany
或@ManyToMany
关系来实现IMHO。这比拥有固定数量的布尔值要灵活得多。@dic19我只收到一个带有布尔值的json。基于此,我需要插入或删除其他entities@AdamKučera实际上我还没有看到它。现在来看,谢谢…@AdamKučera,我实际上使用了这些处理程序,并最终围绕它们构建了我的逻辑。如果你把你的评论作为回答,我会欣然接受。干杯