尽管我使用new运算符,但Spring Entity为null

Sti*_*Cat 0 java spring hibernate

我不知道为什么对象是null.这是我项目中的一个实体.我正在使用Spring,Lombok,Hibernate和Vaadin.我想实现一个新的集团.这在我的实体类中:

@Entity
@Data
@NoArgsConstructor
@EqualsAndHashCode(of = { "groupSid" })
@Table(name = "ad_group")

public class Group implements Comparable<Group> {

@Id
@Column(name = "group_sid")
private String groupSid;

private String name;

@ManyToMany(mappedBy = "memberOf", fetch = FetchType.LAZY)
private Set<Person> persons;

@OneToMany(mappedBy = "group", fetch = FetchType.EAGER, cascade = CascadeType.REMOVE)
private Set<Authority> authorities;

@Column(name = "jira_ticket_id")
private String ticketId;

@Override
public int compareTo(Group o) {
   return getName().compareTo(o.getName());
}

@Override
public String toString() {
   return name;
 }

}  
Run Code Online (Sandbox Code Playgroud)

在组的编辑对话框中,我使用以下代码来保留组详细信息.

     btnSave.addClickListener(e -> {

     Group toSave = new Group();
     System.out.println("toSave: " + toSave);
     toSave.setGroupSid(selectedGroup.getGroupSid());
     toSave.setTicketId(tfTicket.getValue());
     if (toSave != null) {
        Group savedGroup = service.saveGroup(toSave);
        if (savedGroup != null) {
           parentView.updateUsers(selectedPerson, null, savedGroup);
        }
     }

     close();
  });  
Run Code Online (Sandbox Code Playgroud)

执行代码时,它会显示以下输出:

  toSave: null
Run Code Online (Sandbox Code Playgroud)

该组怎么可以为空?我究竟做错了什么?

Jen*_*ens 6

对象本身不是null唯一的name 就是null

这就是原因

@Override
public String toString() {
   return name;
 }
Run Code Online (Sandbox Code Playgroud)

回报null.

并且在System.out.println语句中隐式调用此方法

System.out.println("toSave: " + toSave);