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;
}
}```