Целевой компонент типа org.springframework.data.util.Pair не относится к типу постоянного объекта (com.mycompany.hibernatepoc.ConnectionManager - PullRequest
0 голосов
/ 22 мая 2019

У меня есть метод контроллера, который просто добавляет тестовый объект в репозиторий, полная ошибка при попытке сохранить заключается в следующем.Служба вызывает CrudRepository

Resolved [org.springframework.dao.InvalidDataAccessApiUsageException: целевой бин типа org.springframework.data.util.Pair не относится к типу персистентного объекта (com.mycompany.hibernatepoc.Conf.) !: org.springframework.data.util.Pair;вложенным исключением является java.lang.IllegalArgumentException: целевой компонент типа org.springframework.data.util.Pair не относится к типу персистентного объекта (com.mycompany.hibernatepoc.ConnectionManager) !: org.springframework.data.util.Pair]

Мой контроллер

   @Controller
  public class MasterConnectionController {


@Autowired
MasterConnectionService masterConnectionService;

@RequestMapping(value = "/testAdd", method = RequestMethod.GET)
public ResponseEntity<MasterConnectionManager> testAdd() {
    DocumentValidation documentValidation1 = new DocumentValidation();
    documentValidation1.setDetails("1st validation for document 1");
    DocumentValidation documentValidation2 = new DocumentValidation();
    documentValidation2.setDetails("2nd validation for document 1");   

    ArrayList<DocumentValidation> documentValidationList = new  ArrayList<DocumentValidation>();
    documentValidationList.add(documentValidation1);
    documentValidationList.add(documentValidation2);

    DocumentDetail documentDetail1 = new DocumentDetail();
    documentDetail1.setLocation("location of document 1");
    documentDetail1.setDocumentValidationList(documentValidationList);

    ConnectionManager connectionManager1 = new ConnectionManager();
    connectionManager1.setType(ValidationType.Document);

    MasterConnectionManager master = new MasterConnectionManager();
    ArrayList<ConnectionManager> connectionManagerList = new ArrayList<ConnectionManager>();
    connectionManagerList.add(connectionManager1);
    master.setConnectionManagerList(connectionManagerList);


    return new ResponseEntity<>(masterConnectionService.save(master),HttpStatus.OK);


}

MasterConnectionManager

@Entity
public class MasterConnectionManager {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long controlId;

@OneToMany(mappedBy= "masterConnectionManager", cascade = CascadeType.PERSIST)
private List<ConnectionManager> connectionManagerList;

public MasterConnectionManager(){}


public MasterConnectionManager(List<ConnectionManager> connectionManagerList) {
    super();
    this.connectionManagerList = connectionManagerList;
}

ConnectionManager

  @Entity
  public class ConnectionManager {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private int sequence;


@OneToOne
@JoinColumn(name = "masterConnectionManager_controlId")
private MasterConnectionManager masterConnectionManager;

public enum ValidationType {Email, Document, Sql};
@Enumerated(EnumType.STRING)
private ValidationType type;


@OneToOne
@JoinColumn(name = "emailDetail_id")
private EmailDetail emailDetail;

@OneToOne
@JoinColumn(name = "documentDetail_id")
private DocumentDetail documentDetail;

@OneToOne
@JoinColumn(name = "sqlDetail_id")
private SqlDetail sqlDetail;

public ConnectionManager(){};



public ConnectionManager(int sequence, MasterConnectionManager masterConnectionManager, ValidationType type,
        EmailDetail emailDetail, DocumentDetail documentDetail, SqlDetail sqlDetail) {
    super();
    this.sequence = sequence;
    this.masterConnectionManager = masterConnectionManager;
    this.type = type;
    this.emailDetail = emailDetail;
    this.documentDetail = documentDetail;
    this.sqlDetail = sqlDetail;
}

Репо

@Repository
 public interface MasterConnectionRepo extends CrudRepository < 
 MasterConnectionManager, Long> {

 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...