亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

spring-data-jdbc 只讀

spring-data-jdbc 只讀

白衣染霜花 2023-10-13 10:12:36
我試圖使某些字段只讀->插入和更新又名save()不應將該字段發送到數據庫,但應使用select填充該字段。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數據庫: MSSQLspring-data-jdbc 只讀它應該有效嗎?還有其他方法嗎?注意:請不要將 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;}@Testpublic 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);}LOG: 執行準備好的 SQL 語句 [INSERT INTO Organization (name, readOnlyProperty) VALUES (?, ?)]執行準備好的 SQL 語句 [INSERT INTO 員工 (姓名, 組織) VALUES (?, ?)]
查看完整描述

2 回答

?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

這是一個錯誤。我為它創建了DATAJDBC-431,它可能會在下一個服務版本中修復。



查看完整回答
反對 回復 2023-10-13
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

我沒有測試,但根據這個

Column 注釋和 XML 元素定義可插入和可更新選項。這些允許從 SQL INSERT 或 UPDATE 語句中省略此列或外鍵字段。如果表上的約束阻止插入或更新操作,則可以使用這些。如果多個屬性映射到同一數據庫列,例如通過 ManyToOne 和 Id 或 Basic 映射使用外鍵字段,也可以使用它們。將 insertable 和 updatetable 設置為 false,可以有效地將屬性標記為只讀。

@Column(name="COLUMN_NAME",updatable=false,?insertable=false)
private?String?fieldName;

應該使該字段只讀。


查看完整回答
反對 回復 2023-10-13
  • 2 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號