Java mappedBy引用未知的目标实体属性:dataObject.PayTransactionStatement.PayMaster中的AtObject.PayTransactionStatement.PayMaster

Java mappedBy引用未知的目标实体属性:dataObject.PayTransactionStatement.PayMaster中的AtObject.PayTransactionStatement.PayMaster,java,hibernate,spring-boot,spring-mvc,jpa,Java,Hibernate,Spring Boot,Spring Mvc,Jpa,我犯了错误 org.hibernate.AnnotationException:mappedBy reference未知目标实体属性:my.backend.dataObject.PayMaster.PayTransactionStatement在my.backend.dataObject.PayTransactionStatement.PayMaster中 我检查了所有实体,但仍然无法解决问题 @Data @Entity @Table(name = "pay_master") @DynamicU

我犯了错误

org.hibernate.AnnotationException:mappedBy reference未知目标实体属性:my.backend.dataObject.PayMaster.PayTransactionStatement在my.backend.dataObject.PayTransactionStatement.PayMaster中

我检查了所有实体,但仍然无法解决问题

@Data
@Entity
@Table(name = "pay_master")
@DynamicUpdate //Dynamic update - you need to set the update time field of the database to be automatically updated. In this way, query the time, save the other fields and save the update time.
public class PayMaster {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name="paymaster_id")
    private Long paymasterid;


    @ManyToOne(fetch= FetchType.LAZY)
    @JoinColumn(name="statement_id")
    private PayTransactionStatement payTransactionStatement;

}



@Data
@Entity
@Table(name = "pay_transaction_statement")
@DynamicUpdate
public class PayTransactionStatement {


     @Id
     @GeneratedValue(strategy = GenerationType.AUTO)
     @Column(name="statement_id")
     private Long statementId;

     @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy ="PayTransactionStatement") 
     private List<PayMaster> payMaster;

}
@数据
@实体
@表(name=“支付主机”)
@DynamicUpdate//DynamicUpdate-您需要将数据库的更新时间字段设置为自动更新。这样,查询时间、保存其他字段和保存更新时间。
公共级工资主管{
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
@列(name=“paymaster\u id”)
私人长paymasterid;
@manytone(fetch=FetchType.LAZY)
@JoinColumn(name=“statement\u id”)
私人薪酬交易报表薪酬交易报表;
}
@资料
@实体
@表(name=“支付交易结算单”)
@动态铜日期
公共类PayTransaction报表{
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
@列(name=“statement\u id”)
私有长语句ID;
@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL,mappedBy=“PayTransactionStatement”)
私人名单支付主管;
}

您在
PayTransactionStatement
中的映射应该是

 @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy ="payTransactionStatement") 
 private List<PayMaster> payMaster;
@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL,mappedBy=“payTransactionStatement”)
私人名单支付主管;

正如@tijkiki正确指出的那样,您需要在映射对象中以小写字母开头。这是由于spring启动命名约定造成的。