org.springframework.data.util.Pair类型的目标bean不是持久实体类型(com.mycompany.hibernatepoc.ConnectionManager

时间:2019-05-22 13:35:35

标签: hibernate spring-boot spring-data-jpa

我有一个控制器方法,只是将测试对象添加到存储库中,尝试保存时出现以下完全错误。该服务调用CrudRepository

已解决的[org.springframework.dao.InvalidDataAccessApiUsageException:org.springframework.data.util.Pair类型的目标bean不是持久实体的类型(com.mycompany.hibernatepoc.ConnectionManager)!: org.springframework.data .util.Pair;嵌套异常是java.lang.IllegalArgumentException:org.springframework.data.util.Pair类型的目标bean不是持久实体(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> {

 }

0 个答案:

没有答案