有这个类:
用户.java:
@Entity
@Data
public class User {
@Id
private int id;
private String username;
public User(String username) {
this.username = username;
}
}
AccountUserCMPK.java:
@Embeddable
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AccountUserCMPK implements Serializable {
private int accountId;
@ManyToOne(cascade = CascadeType.ALL)
private User user;
}
帐户.java:
@Entity
@Data
public class Account {
@Id
private AccountUserCMPK accountUserId;
private int accountBalance;
}
演示应用程序.java:
@Bean
public CommandLineRunner loadData(AccountRepository accountRepo){
return new CommandLineRunner() {
@Override
public void run(String... args) throws Exception {
User u = new User("motherfucker");
Account a = new Account();
a.setAccountBalance(1000);
a.setAccountUserId(new AccountUserCMPK(0, u));
accountRepo.save(a);
}
};
}
这使:
SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails (`tmp`.`account`, CONSTRAINT `FK7m8ru44m93ukyb61dfxw0apf6` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`))
如何解决这个问题?