Spring boot application Создание двух строк базы данных - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть приложение spring boot с базой данных MySQL. Ниже описан метод создания двух строк лекарства с одинаковыми полями.

    @Override
    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
    public MedicationGroup save(MedicationGroup medicationGroup) {
        return medicationRepository.save(medicationGroup);
    }

Группа медикаментов:

@Getter
@Setter
@Table(name = "medication_group")
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MedicationGroup extends AbstractEntity implements Persistable {

    private static final long serialVersionUID = 2948809916398284974L;

    private Short type;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "patient_id", nullable = false, updatable = false, insertable = false)
    private Patient patient;

    @Column(name = "patient_id")
    private Long patientId;

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "medicationGroup", cascade = CascadeType.ALL)
    private List<Prescription> prescriptions;

}

Ниже строки созданы в базе данных:

enter image description here

Это не происходит постоянно, это случится в любой момент, когда вы не сможете найти причину.

1 Ответ

0 голосов
/ 14 ноября 2018

Вы уверены, что метод не вызывается дважды. Попробуйте использовать первичный ключ в одном из полей, чтобы дублированные данные не сохранялись в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...