有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法在休眠状态下保存数据

我正在尝试将数据保存到hibernate,但由于以下错误而无法保存:

12:39:24,006 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-4) Unknown column 'department_id' in 'field list'

请在下面找到问题陈述:

这是我的实体类:

@Entity
@Table(name = "employee")
@Where(clause = "isDeleted = false")
public class Employee extends BaseEntity {

    @OneToOne
    private Department department;

    private int status;

    public Department getDepartment() {
        return department;
    }

    public void setDepartment(Department department) {
        this.department = department;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }


}

员工表:

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);

我在保存数据时遇到错误:

insert into employee (isdeleted, last_modification, department_id, status) values (?, ?, ?, ?)

here i can see that my Employee Table conatins department column but hibernate is generating department_id

在内部插入记录

有人能帮我吗?如果您需要更多信息,请回复


共 (1) 个答案

  1. # 1 楼答案

    首先,我想很多员工都属于同一个部门,所以应该是多部门的。其次,您可以使用JoinColumn指定。。。联接列:

    @ManyToOne
    @JoinColumn(name = "department")
    private Department department;
    

    但是我宁愿更改数据库中列的名称,因为department_id更清楚地表明该列包含部门ID,因此是外键