Hibernate 5 @joinformula с @MapKeyTemporal - PullRequest
0 голосов
/ 16 ноября 2018

Я не могу выбрать последний, используя форму соединения.Карты работают нормально, но с помощью формулы соединения была показана следующая ошибка:

Внешний ключ InstrumentoData от Instrumento имеет неправильный номер столбца.должно быть 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;

кто-нибудь мне помочь?

1 Ответ

0 голосов
/ 16 ноября 2018
@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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...