Первый класс как: -
Итак, я добавляю свой созданный класс
@Entity
@Table(name = "performance_data_stage")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class PerfMetricEntity implements Serializable {
/**
*
*/
private static final long serialVersionUID = 2716603621710640771L;
@EmbeddedId
private PerfMetricEntityId perfMetricId;
@Column(name = "sample_count")
private double sampleCount;
@Column(name = "unit")
private String unit;
@Column(name = "avg_val")
private double averageValue;
@Column(name = "max_val")
private double maximumValue;
@Column(name = "min_val")
private double minimumValue;
@Column(name = "sum_val")
private double sumValue;
-------Getter & Setter Methods--------
}
Второй класс: -
@Embeddable
public class PerfMetricEntityId implements Serializable {
/**
*
*/
private static final long serialVersionUID = 7511513335470279948L;
@Column(name = "instance_id")
private String instanceId;
@Enumerated(EnumType.STRING)
@Column(name = "metric_type")
private MetricType metricType;
@Column(name = "timestamp")
private Date timeStamp;
@Column(name = "period")
private int period;
/**
*
*/
public PerfMetricEntityId() {
super();
}
/**
* @param instanceId
* @param metricType
* @param timeStamp
* @param period
*/
public PerfMetricEntityId(String instanceId, MetricType metricType, Date
timeStamp, int period) {
super();
this.instanceId = instanceId;
this.metricType = metricType;
this.timeStamp = timeStamp;
this.period = period;
}
}
И я создал хранилище как: -
public interface PerfMetricDetailsRepository extends
JpaRepository<PerfMetricEntity, PerfMetricEntityId> {
@Query("SELECT p FROM PerfMetricEntity p WHERE p.perfMetricId.period = :period")
Page<PerfMetricEntity> findAllMetricTypeListByPeriod(@Param("period") int period,Pageable pageable);
@Query("delete from PerfMetricEntity")
Void DeleteAll();
}
Так что в моей основной функции я вызываю объект репозитория, позволяющий "obj".
Я вызываю метод obj.DeleteAll (), но выдаю «удаленный экземпляр передан с ошибкой слияния».
Я видел много постов, но большинство из них намекают на то, что «Каскадный тип» меняет связанные вещи, но я не использовал какое-либо отображение, т.е. OneToOne, ManyToOne, ..