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

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

Spring data jdbc 似乎不適用于最終屬性

Spring data jdbc 似乎不適用于最終屬性

森欄 2022-11-02 16:13:53
我正在嘗試彈簧數據 JDBC (1.1.0.M3)。我有一個包含電子郵件屬性(電子郵件類)的 Formateur(教師)類。電子郵件是一個不可變的類。當我從數據庫中檢索所有教師時,我有以下內容異常:java.lang.UnsupportedOperationException:無法設置不可變屬性 fr.yestech.data.jdbc.domain.Email.email看來spring data JDBC對final屬性不好用!public class Formateur {    private @Id Long id;    private String nom;    @Embedded    private Email email;...}電子郵件類(不可變類,所以沒有設置器!)public final class Email {    private final String email;    private static final Pattern EMAIL_PATTERN = Pattern.compile("^[_A-Za-z]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$");    private Email(String email) {      Objects.requireNonNull(email, "Adresse email doit être non null!");        if (!EMAIL_PATTERN.matcher(email).matches())          throw new IllegalArgumentException("L'adresse email est                      invalide !");        this.email = email;    }    public static Email of(String email) {        return new Email(email);    }...}應用@SpringBootApplicationpublic class SpringJdbcApplication {    public static void main(String[] args) {        SpringApplication.run(SpringJdbcApplication.class, args);    }    @Bean    ApplicationRunner applicationRunner(FormateurRepository formateurRepository) {        return args -> {            Formateur teacher = Formateur.of("YesTech", Email.of("[email protected]"), Adresse.of("Goux"));            formateurRepository.save(teacher);             formateurRepository.findAll().forEach(System.out::println);        };    }}
查看完整描述

1 回答

?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

這確實是一個錯誤。您可以通過添加“凋零”來解決它


private Email withEmail(String email) {

    return new withEmail(email);

}

它甚至可能是私人的。


為此創建了一個問題,因此很快就會得到修復。



查看完整回答
反對 回復 2022-11-02
  • 1 回答
  • 0 關注
  • 93 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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