我试图将一个功能列表(Embeddable)关联到我的Employee Entity中,而H2似乎对这个说它期望一个“标识符”不满意
Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement ”
CREATE TABLE EMPLOYEE_FUNCTIONS (
EMPLOYEE_EMPLOYEEID VARCHAR(255) NOT NULL,
ACTIVE BOOLEAN NOT NULL,
DEPARTMENTNUMBER INTEGER NOT NULL,
DESCRIPTION VARCHAR(255),
ORDER[*] INTEGER NOT NULL
) “; expected “identifier”;
事情是我已经用另一个项目完成了这个,我不明白为什么它不起作用.
Employee.java
@Entity
public class Employee extends AbstractScheduleEntity {
public static final String ACOMBA_UNIQUE_FIELD = "acombaUnique";
@Id
@GenericGenerator(name = "sequence_id", strategy =
"ca.tecsar.core.sql.ServerSequenceGenerator")
@GeneratedValue(generator = "sequence_id")
@Column(name = "EmployeeID", unique = true, nullable = false)
private String employeeID;
@ElementCollection
private List functions;
//getter and setter
}
Function.java
@Embeddable
public class Function implements Serializable {
private int order;
private boolean active;
private String description;
private int departmentNumber;
//getter and setter
}
我在Employee中删除了一些不必要的属性.
什么可能导致此错误?是因为我的员工中有一个String作为标识符吗?如果是这样,我如何告诉Hibernate添加Employee_EmployeeID作为标识符?
谢谢