Не могу жестко закодировать данные в базу данных. Если я комментирую все о банке и просто сохраняю (аккаунт) с нулевым списком банков, его данные сохраняются в БД
@ Класс компонента с CommandLineRunner:
@Override
public void run(String... args) throws Exception {
List<Bank> banks = new ArrayList<>();
Bank bank = new Bank("Приват Банк", 5000.0f);
Bank bank2 = new Bank("UkrsibBank", 3000.1f);
banks.add(bank);
banks.add(bank2);
bankAccountRepository.save(bank);
bankAccountRepository.save(bank2);
Account account = new Account(15000.2f, 1200.5f, banks);
accountRepository.save(account);
}
Мои объекты:
@Entity
@Data
@NoArgsConstructor
public class Account {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "total_balance")
private float totalBalance;
private float cash;
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(name = "account_banks", joinColumns = @JoinColumn(name = "account_id"),
inverseJoinColumns = @JoinColumn(name = "bank_id") )
private List<Bank> banks;
public Account(float totalBalance, float cash, List<Bank> banks) {
this.totalBalance = totalBalance;
this.cash = cash;
this.banks = banks;
}
}
@Entity
@Data
@NoArgsConstructor
public class Bank implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
@Column(name = "account_balance")
private float balance;
public Bank(String name, float balance) {
this.name = name;
this.balance = balance;
}
}
Что не так? Ошибки: -java.lang.IllegalStateException: не удалось выполнить CommandLineRunner. -Причинено: org.springframework.dao.InvalidDataAccessApiUsageException: отсоединенная сущность передана в постоянство: - Причина: org.hibernate.PersistentObjectException: отсоединенная сущность 101 передана в исключение