0
我在Hibernate 4.x中使用JPA 2.1。我发现@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 Object时,总是使用Map Key。所以'@ MapKeyColumn'必须不为空。奇怪的是,如果它只是可以空的,那么运作良好。 – ohyun
这是数据库中的问题,它与问题和解决方案无关。如果答案是正确的,请将其标记为一个,以便其他人可以使用它。 –