gpt4 book ai didi

java - spring-data-jdbc 只读

转载 作者:太空宇宙 更新时间:2023-11-04 09:20:53 24 4
gpt4 key购买 nike

我正在尝试使某些字段只读 -> 插入更新(又名save())不应将该字段发送到数据库,但应使用选择填充该字段。

org.springframework.data.annotation.ReadOnlyProperty 中的

@ReadOnlyProperty 并不能解决问题。

版本: spring-boot:2.2.0.RC1,spring-data-jdbc:1.1.0.RELEASE,spring-data-commons:2.2.0.RELEASE

数据库:MSSQL

spring-data-jdbc readOnly

它应该有效吗?还有其他方法吗?

注意:请不要将 spring-data-jdbc 与 spring-data-jpa 混合使用

import java.util.Set;
import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.ReadOnlyProperty;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.MappedCollection;

public class Organization {
@Id
private Long id;
private String name;
@Column("readOnlyProperty")
@ReadOnlyProperty
private String readOnlyProperty;
@ReadOnlyProperty
@MappedCollection
private Set<Employee> employees;
}
import org.springframework.data.annotation.Id;

public class Employee {
@Id
private Long id;
private String name;
}
@Test
public void insert() {
// insert should not set readOnlyProperty
Organization organization = new Organization("org1", "readOnly");
Employee employee = new Employee("emp1");
Set<Employee> employess = new HashSet<>();
employess.add(employee);
organization.setEmployees(employess);
organizationRepository.save(organization);
}

日志: 执行准备好的 SQL 语句 [INSERT INTO Organization (name, readOnlyProperty) VALUES (?, ?)]

执行准备好的 SQL 语句 [INSERT INTO 员工(姓名、组织)VALUES (?, ?)]

最佳答案

这是一个错误。我创建了DATAJDBC-431对于它,它可能会在下一个服务版本中修复。

关于java - spring-data-jdbc 只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58337646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com