У меня есть гибернации Entity «Интранет», который имеет этот код:NullPointerException при добавлении сотрудника в Hibernate
// Imports removed
@Entity
@Table(name = "intranets", uniqueConstraints = @UniqueConstraint(columnNames = "company_name"))
@Cacheable
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Intranet {
@Id
@Column(name = "INTRANET_ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private int intranetId;
@Column(name = "owner_id")
private int ownerId;
@Column(name = "setup_done")
private boolean isSetUp = false;
@Column(name = "company_name")
private String companyName;
@ElementCollection
@CollectionTable(name = "employees")
@Column(name = "employee")
private List<Integer> employeeIds;
public int getIntranetId() {
return intranetId;
}
public void setIntranetId(int intranetId) {
this.intranetId = intranetId;
}
public boolean isSetUp() {
return isSetUp;
}
public void setSetUp(boolean isSetUp) {
this.isSetUp = isSetUp;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public int getOwnerId() {
return ownerId;
}
public void setOwnerId(int ownerId) {
this.ownerId = ownerId;
}
public List<Integer> getEmployeeIds() {
return employeeIds;
}
public void setEmployeeIds(List<Integer> employeeIds) {
this.employeeIds = employeeIds;
}
public void addEmployee(int id) {
this.employeeIds.add(id);
}
public void removeEmployee(int id) {
this.employeeIds.remove(new Integer(id));
}
}
Как вы можете видеть, я добавил два метода, которые непосредственно не являются добытчиками и сеттеров, но они» как удобные методы для легкого доступа к коллекции и добавления/удаления сотрудников.
Когда я вызываю «addEmployee()» в своей программе, я получаю простое исключение NullPointerException. Вопрос в основном равен , как я могу инициализировать коллекцию, чтобы не было null
, потому что я читал, что Hibernate использует внутренние реализации коллекций и не просто принимает ArrayList
.
Благодарим за помощь.
Вызов 'setEmployeeIds()' перед 'addEmployee()'. –