spring boot mongobd @DBref 为归档的孩子加载 null

问题描述

我正在尝试将 spring boot 与 mongobd 一起使用,当我加载用户类以返回 addresse 属性的 dataBase 时

用户.class

@Document(collection = "user")
       public class User  {
        @Id
        private String id;
        private String firstName;
        private String lastName;
        @NotEmpty
        private String userName;
        @NotEmpty
        private String email;
        @NotEmpty
        private String password;
        @DBRef(db="adresse",lazy = true)
        private Adresse addresse;
        private Roles role;
    
        public String getId() {
            return id;
        }
    
        public void setId(String id) {
            this.id = id;
        }
    
        public String getFirstName() {
            return firstName;
        }
    
        public void setFirstName(String firstName) {
            this.firstName = firstName;
        }
    
        public String getLastName() {
            return lastName;
        }
    
        public void setLastName(String lastName) {
            this.lastName = lastName;
        }
    
        @NonNull
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(@NonNull String userName) {
            this.userName = userName;
        }
    
        @NonNull
        public String getEmail() {
            return email;
        }
    
        public void setEmail(@NonNull String email) {
            this.email = email;
        }
    
        @NonNull
        public String getpassword() {
            return password;
        }
    
        public void setPassword(@NonNull String password) {
            this.password = password;
        }
    
        public Roles getRole() {
            return role;
        }
    
        public void setRole(Roles role) {
            this.role = role;
        }
    
        public Adresse getAdresse() {
            return adresse;
        }
    
        public void setAdresse(Adresse addresse) {
            this.addresse = addresse;
        }
    
      
    }

地址.lass

  @Document("adresse")
public class Addresse {
    @Id
    private String id;
    private String state;
    private String city;
    private String street;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getStreet() {
        return street;
    }

    public void setStreet(String street) {
        this.street = street;
    }
}

当我尝试加载用户表单 mongoBd 时,结果是:

{
    "id": "60c0c8d07cb2ac2b7c1e8f42","firstName": jhon,"lastName": jhon,"userName": jhon,"email": "jhon@gmail.com","password": 12233,"addresse": {
        "id": null,"state": null,"city": null,"street": null,"target": null
    },"role": USER}

地址库

    public interface AddresseRepository extends MongoRepository<Addresse,String> {

}

用户存储库

    public interface UserRepository extends MongoRepository<User,String> {
   
}

当我使用 Repository 从 mongoBd 加载时,他为提交的地址返回 null 我使用 mongoBD 4.4.6 和 spring boot 2.4.5

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)