0
Я использую JPA 2.1 с Hibernate 4.x. Я обнаружил, что @MakKeyColumn не является вокалистом.@MapKeyColumn (name = "XXX") не работает
@Entity
public class Department {
@Id private int id;
@OneToMany(mappedBy = "department")
@MapKeyColumn(name = "cub_id")
private Map<String, Employee> employeesByCubicle = new HashMap<>();
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Map<String, Employee> getEmployeesByCubicle() {
return employeesByCubicle;
}
public void setEmployeesByCubicle(Map<String, Employee> employeesByCubicle) {
this.employeesByCubicle = employeesByCubicle;
}
}
если приведенный выше код выполняется, я могу увидеть следующие ошибки
Caused by: org.postgresql.util.PSQLException: ERROR: null value in column "cub_id" violates not-null constraint
Detail: Failing row contains (2, xxxxxx, null, null).
Но, если я опускаю @MapKeyColumn
, это работает. Может кто-нибудь, дайте мне знать, почему это не работает при использовании @MapKeyColumn
Спасибо за ответ заранее :)
Спасибо за ответ. ваш ответ правильный. работает. Но Map Map всегда используется, когда мы используем Map Object. поэтому '@ MapKeyColumn' должен быть не нулевым. Странно, что если это всего лишь нулевое значение, он работает хорошо. – ohyun
Это проблема в вашей базе данных, и она не имеет ничего общего с проблемой и решением. Если ответ правильный, отметьте его как один, чтобы другие могли его использовать. –