IllegalArgumentException: Can't find getter for property

I am evaluating the framework and everything was fine until I added a many-to-one attribute (SFTPServer). When I try to create a new SFTPSync, it shows that “IllegalArgumentException: Can’t find getter for property ‘SFTPServer’ at class com.parisliu.datamanager.entity.SFTPSync”.

The following is the code for SFTPSync and SFTPServer

package com.parisliu.datamanager.entity;

import com.haulmont.cuba.core.entity.BaseIdentityIdEntity;
import com.haulmont.cuba.core.entity.HasUuid;
import com.haulmont.cuba.core.entity.annotation.OnDeleteInverse;
import com.haulmont.cuba.core.global.DeletePolicy;

import javax.persistence.*;
import java.util.UUID;

@Table(name = "DATAMANAGER_SFTP_SYNC")
@Entity(name = "datamanager_SFTPSync")
public class SFTPSync extends BaseIdentityIdEntity implements HasUuid {
    private static final long serialVersionUID = 1876476381644309696L;
    @Column(name = "UUID")
    protected UUID uuid;

    @OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "SyncTask_ID")
    protected SyncTask syncTask;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "sftpserver_id", nullable = false)
    @OnDeleteInverse(DeletePolicy.DENY)
    private SFTPServer SFTPServer;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "repo_id")
    @OnDeleteInverse(DeletePolicy.DENY)
    private Repository repo;

    @Column(name = "repoPath")
    protected String repoPath;

    @Column(name = "createdTime")
    protected Long createdTime;

    @Column(name = "finishedTime")
    protected Long finishedTime;

    @Column(name = "updatedTime")
    protected Long updatedTime;

    @Column(name = "archivedTime")
    protected Long archivedTime;




    public UUID getUuid() {
        return uuid;
    }

    public void setUuid(UUID uuid) {
        this.uuid = uuid;
    }

    public SyncTask getSyncTask() {
        return syncTask;
    }

    public void setSyncTask(SyncTask syncTask) {
        this.syncTask = syncTask;
    }

    public SFTPServer getSFTPServer() {
        return SFTPServer;
    }

    public void setSFTPServer(com.parisliu.datamanager.entity.SFTPServer SFTPServer) {
        this.SFTPServer = SFTPServer;
    }

    public Repository getRepo() {
        return repo;
    }

    public void setRepo(Repository repo) {
        this.repo = repo;
    }

    public String getRepoPath() {
        return repoPath;
    }

    public void setRepoPath(String repoPath) {
        this.repoPath = repoPath;
    }

    public Long getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Long createdTime) {
        this.createdTime = createdTime;
    }

    public Long getFinishedTime() {
        return finishedTime;
    }

    public void setFinishedTime(Long finishedTime) {
        this.finishedTime = finishedTime;
    }

    public Long getUpdatedTime() {
        return updatedTime;
    }

    public void setUpdatedTime(Long updatedTime) {
        this.updatedTime = updatedTime;
    }

    public Long getArchivedTime() {
        return archivedTime;
    }

    public void setArchivedTime(Long archivedTime) {
        this.archivedTime = archivedTime;
    }
}
package com.parisliu.datamanager.entity;

import com.haulmont.cuba.core.entity.BaseIdentityIdEntity;
import com.haulmont.cuba.core.entity.BaseLongIdEntity;
import com.haulmont.cuba.core.entity.HasUuid;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.UUID;

/**
 * SFTP Server
 */

@Table(name = "DATAMANAGER_SFTP_SERVER")
@Entity(name = "datamanager_SFTPServer")
public class SFTPServer extends BaseIdentityIdEntity implements HasUuid {
    private static final long serialVersionUID = 8142956180544225095L;
    @Column(name = "UUID")
    protected UUID uuid;

    @Column(name = "server")
    protected String server;

    @Column(name = "user")
    protected String user;


    @Column(name = "password")
    protected String password;

    @Column(name = "savePassword")
    protected Boolean savePassword;

    public UUID getUuid() {
        return uuid;
    }

    public void setUuid(UUID uuid) {
        this.uuid = uuid;
    }

    public String getServer() {
        return server;
    }

    public void setServer(String server) {
        this.server = server;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Boolean isSavePassword() {
        return savePassword;
    }

    public void setSavePassword(Boolean savePassword) {
        this.savePassword = savePassword;
    }
}```

Please use camelCase for property names (Studio actually validates it)