【发布时间】:2011-02-10 09:54:22
【问题描述】:
我想在 JPA 中映射地图,但出现异常: 我的 java 代码如下所示:
问题.java:
@ElementCollection
@CollectionTable(
name="ISSUE_EMPLOYEE",
joinColumns=@JoinColumn(name="ISSUE_ID", referencedColumnName="ID")
)
@MapKeyColumn(name="EMPLOYEEPOSITION_ID")
@MapKeyConvert("myEnumConverter")
@JoinColumn(name="EMPLOYEE_ID")
private Map<EmployeePosition, Employee> namedEmployees = new Hashtable<EmployeePosition, Employee>();
EmployeePosition 是 Enum 而Employee 是 Entity。
我得到了这个例外:
内部异常:java.sql.SQLException:ORA-00904:“EMPLOYEES”:标识符无效
错误代码:904 调用:INSERT INTO ISSUE_EMPLOYEE (ISSUE_ID, EMPLOYEES, EMPLOYEEPOSITION_ID) VALUES (?, ?, ?) 绑定 => [27, [B@18b85d, 服务]
它似乎忽略了@JoinColumn 注释并尝试将对象插入数据库中。
我的映射有什么问题/是否可以匹配这样的实体?
【问题讨论】:
标签: jpa eclipselink