我有两个表Employee
和Address
有one-to-one
关系。
CREATE TABLE EMPLOYEE(
ID BIGINT PRIMARY KEY NOT NULL,
EMP_NAME VARCHAR(50) NOT NULL,
PHONE_ID BIGINT,
DELETED BOOLEAN NOT NULL DEFAULT FALSE,
CONSTRAINT CONSTRAINT1 FOREIGN KEY (PHONE_ID)
REFERENCES PHONE (ID)
)
CREATE TABLE PHONE(
ID BIGINT PRIMARY KEY NOT NULL,
PH_NUMBER VARCHAR(20) NOT NULL,
DELETED BOOLEAN NOT NULL DEFAULT FALSE,
)
我正在使用Spring Data REST。
问题 1. 我想公开一个数据休息存储库方法来更新DELETED
EMPLOYEE
和'PHONE'的列。
如下所示:
TestRepository implements CrudRepository{
@Query(value="update both table query", native=false)
public void updateBoth();
}
问题 2.甚至可以使用 Spring 数据 REST 来做到这一点。
请注意:我不想使用本机查询,即@Query(value="", native="true")
你必须在正确使用框架和过度使用框架之间找到平衡。
Spring Data REST是将你的存储库暴露给HTTP,但你不能用它解决所有问题。
此处的正确方法是创建自定义控制器,并通过适当的事务管理实现所需的功能,以获得所需的数据完整性。