Java JpaRepository在选择时丢失列值

Java JpaRepository在选择时丢失列值,java,jpa,spring-data-jpa,spring-data,Java,Jpa,Spring Data Jpa,Spring Data,我有一个JpaRepository,它有一个通过两个实体字段进行搜索的方法。除了一种情况外,它运行良好。由于某些原因,在获取实体后-特定行缺少一列值 请帮我找个理由 我的JPA存储代码: public interface FinParameterRepository extends JpaRepository<FinParameterOB, Long> { FinParameterOB findByFinancingIdAndIdx(Long financingId, In

我有一个JpaRepository,它有一个通过两个实体字段进行搜索的方法。除了一种情况外,它运行良好。由于某些原因,在获取实体后-特定行缺少一列值

请帮我找个理由

我的JPA存储代码:

public interface FinParameterRepository  extends JpaRepository<FinParameterOB, Long> {
    FinParameterOB findByFinancingIdAndIdx(Long financingId, Integer idx);
}
@Entity
@Getter
@Setter
@Table(name = "FINPARAMETER")
@SequenceGenerator(allocationSize = 1, name = "SEKWENCJA", sequenceName = "GEN_FINPARAMETER_ID")
public class FinParameterOB {
    @Id
    @Column(name = "ID")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEKWENCJA")
    private Long id;
    @Column(name = "IDX")
    private Integer    idx           = 0;
    @Column(name = "CAPTION", length = 50)
    private String     caption;
    @Column(name = "VALUEPAR")
    private BigDecimal valuepar;
    @Column(name = "FINANCINGID", insertable = false, updatable = false)
    private Long       financingId;
数据库中的记录:

public interface FinParameterRepository  extends JpaRepository<FinParameterOB, Long> {
    FinParameterOB findByFinancingIdAndIdx(Long financingId, Integer idx);
}
@Entity
@Getter
@Setter
@Table(name = "FINPARAMETER")
@SequenceGenerator(allocationSize = 1, name = "SEKWENCJA", sequenceName = "GEN_FINPARAMETER_ID")
public class FinParameterOB {
    @Id
    @Column(name = "ID")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEKWENCJA")
    private Long id;
    @Column(name = "IDX")
    private Integer    idx           = 0;
    @Column(name = "CAPTION", length = 50)
    private String     caption;
    @Column(name = "VALUEPAR")
    private BigDecimal valuepar;
    @Column(name = "FINANCINGID", insertable = false, updatable = false)
    private Long       financingId;

获得的结果:

public interface FinParameterRepository  extends JpaRepository<FinParameterOB, Long> {
    FinParameterOB findByFinancingIdAndIdx(Long financingId, Integer idx);
}
@Entity
@Getter
@Setter
@Table(name = "FINPARAMETER")
@SequenceGenerator(allocationSize = 1, name = "SEKWENCJA", sequenceName = "GEN_FINPARAMETER_ID")
public class FinParameterOB {
    @Id
    @Column(name = "ID")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "SEKWENCJA")
    private Long id;
    @Column(name = "IDX")
    private Integer    idx           = 0;
    @Column(name = "CAPTION", length = 50)
    private String     caption;
    @Column(name = "VALUEPAR")
    private BigDecimal valuepar;
    @Column(name = "FINANCINGID", insertable = false, updatable = false)
    private Long       financingId;


使用
spring.jpa.show sql=true启用sql日志记录并运行日志记录查询。它将帮助您完成调试。您可能会发现没有对idx=1执行select,因为该实体已使用
valuepar=0
@jenschauder加载和修改,谢谢。真正的原因和你们说的一模一样——实体已经被修改和缓存了。