Spring Hibernate-保存一对多关联

Spring Hibernate-保存一对多关联,spring,hibernate,Spring,Hibernate,我想将一对多关系保存到数据库中。在这种情况下,一个父母和两个孩子 DAO代码 public void createMatch() { UserEntity checker = new UserEntity(); UserEntity setter = new UserEntity(); setter.setChecker(checker); checker.addSetter(setter); if (

我想将一对多关系保存到数据库中。在这种情况下,一个父母和两个孩子

DAO代码

   public void createMatch() {

        UserEntity checker = new UserEntity();

        UserEntity  setter = new UserEntity();
        setter.setChecker(checker);
        checker.addSetter(setter);

        if (checker != null)
        sessionFactory.getCurrentSession().persist(checker); 
        }
模型代码

public class UserEntity implements Serializable {

   @ManyToOne(cascade={CascadeType.ALL})
   @JoinColumn(name="checker_id")
   private UserEntity checker;

   @OneToMany(mappedBy="checker", orphanRemoval=true, cascade = CascadeType.ALL)
   private Set<UserEntity> setters = new HashSet<UserEntity>();

    // getters and setters

   public void addSetter(UserEntity setter) {
    if(setters == null) {

        setters = new HashSet<UserEntity>();
    }
    setter.setChecker(this);

    this.setters.add(setter);

}
要保存到的数据库:

    CREATE TABLE `user` (
    `user_id` INT(11) NOT NULL AUTO_INCREMENT ,
    `name` VARCHAR(45) NULL DEFAULT NULL ,
    `checker_id` INT(11) NULL DEFAULT NULL,
     PRIMARY KEY (`user_id`),
     FOREIGN KEY (`checker_id`) REFERENCES `user` (`user_id`));
问题是为父项保存了一个子项,保存时,除userId外,所有字段都显示为null。我希望为父对象保留多个对象,并在数据库中显示这些值。我想问一下如何实现它?

您的
hello()
方法将checker作为参数,但完全忽略它。它调用
createMatch()
,不带任何参数,这将保存一个包含空setter的空检查器。因此,结果是意料之中的


对于其他需要填写的字段,您必须填写。

谢谢您的回复。我修改了代码以接受一个论点。它不仅保存父项,还保存同一行中具有相同id的子项。这是一个错误。
    CREATE TABLE `user` (
    `user_id` INT(11) NOT NULL AUTO_INCREMENT ,
    `name` VARCHAR(45) NULL DEFAULT NULL ,
    `checker_id` INT(11) NULL DEFAULT NULL,
     PRIMARY KEY (`user_id`),
     FOREIGN KEY (`checker_id`) REFERENCES `user` (`user_id`));