У меня есть таблица установки, подобная этой:
public class SampleMetricAggregation {
@Id
@Column(name="SAMPLE_METRIC_AGGR_ID")
protected Long id;
@OneToOne(fetch=FetchType.LAZY, mappedBy="sampleMetricAggrId")
@Where(clause="SCOPE='EXON' and PARTITION='ALL' and TYPE='RAW'")
protected CoverageCalculation exonCoverageCalculation;
и
@Entity
@Table(name="COVERAGE_CALCULATION")
public class CoverageCalculation {
@Id
@SequenceGenerator(name="CURATION_CALC_SEQ", sequenceName="CURATION_CALC_SEQ", allocationSize=1)
@Column(name="COVERAGE_CALCULATION_ID")
protected Long id;
@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(name="SAMPLE_METRIC_AGGR_ID")
protected SampleMetricAggregation sampleMetricAggrId;
Отношение SampleMetricAggr к CoverageCalc одно к многим (может быть много CoverageCalcs с тем же Id), но я хочу иметь возможность получить конкретный, основанный на критериях фильтрации в аннотации @Where.
Может ли hibernate справиться с этим?В моем тестировании я получал сообщение об ошибке «Найдено более одной строки с данным идентификатором».
Спасибо