我正在尝试将数据保存到休眠状态但由于错误而无法保存:
12:39:24,006 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (默认任务-4)未知列' department_id'在'字段列表'
请在下面找到问题陈述:
这是我的实体类:
@Inject
CrudService<Employee> employeeManager;
Department department = new Department();
// create department and after creating depaerment
department.setDepartment(department);
department.setStatus(1);
department.setId(null);
employeeManager.create(department);
员工表:
id |部门|状态
我正在插入这样的数据:
insert into employee (isdeleted, last_modification, department_id, status) values (?, ?, ?, ?)
我在保存数据时遇到错误:
mult:
pop ax
mul bx
push ax
lea dx,Mulseu
mov ah,09h
int 21h
pop ax
mov cx,0
mov dx,0
mov bx,10d
jmp wrong
在这里我可以看到我的员工表包含部门专栏但是 hibernate正在生成department_id
在内部插入记录。
任何人都可以帮助我吗?如果您需要更多信息,请恢复。
答案 0 :(得分:1)
首先,我猜许多员工属于同一个部门,因此应该是ManyToOne。其次,您可以使用JoinColumn指定... join列的名称:
@ManyToOne
@JoinColumn(name = "department")
private Department department;
但我宁愿更改数据库中列的名称,因为department_id
更清楚地表明该列包含部门的ID,因此是外键。