【问题标题】:Hibernate 5 @joinformula with @MapKeyTemporal休眠 5 @joinformula 与 @MapKeyTemporal
【发布时间】:2018-11-16 15:46:25
【问题描述】:

我不能使用 joinformula 选择最后一个。地图工作正常,但使用连接公式显示以下错误:

来自 Instrumento 的外键 InstrumentoData 的列数错误。应该是 2

@MapKeyTemporal(TemporalType.DATE)
@MapKey(name = "dataMovimento")
@OneToMany(mappedBy = "instrumento")
@LazyCollection(LazyCollectionOption.EXTRA)
private final Map<Date, InstrumentoData> instrumentoData = new HashMap<>();

@ManyToOne(fetch = FetchType.LAZY)
@JoinFormula(value = "(SELECT i.ID_INSTRUMENTO FROM InstrumentoData i WHERE i.ID_INSTRUMENTO = id ORDER BY i.data_Movimento DESC LIMIT 1)")
private InstrumentoData ultimoInstrumentoData;

有人帮帮我吗?

【问题讨论】:

    标签: hibernate jpa-2.0


    【解决方案1】:
    @ManyToOne
    @JoinColumnsOrFormulas({
            @JoinColumnOrFormula(column = @JoinColumn(name = "id", referencedColumnName = "ID_INSTRUMENTO")),
            @JoinColumnOrFormula(formula = @JoinFormula(value = "(SELECT i.data_Movimento FROM  Instrumento_Data i WHERE i.ID_INSTRUMENTO = id ORDER BY i.data_Movimento FETCH FIRST 1 ROWS ONLY)", referencedColumnName = "data_Movimento"))
    })
    private InstrumentoData ultimoInstrumentoData;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-12
      • 2020-09-22
      • 2018-11-07
      • 2012-07-11
      • 2016-03-21
      • 2015-12-28
      • 2018-04-26
      • 2021-05-05
      相关资源
      最近更新 更多