0

有这个类:

用户.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`))

如何解决这个问题?

4

0 回答 0