我正在尝试在我的员工实体中关联功能列表(可嵌入),H2对此表示不满,因为它期望使用“标识符”
由以下原因引起:org.h2.jdbc.JdbcSQLException:SQL语句中的语法错误“ CREATE TABLE
EMPLOYEE_FUNCTIONS(EMPLOYEE_EMPLOYEEID VARCHAR(255)NOT NULL,ACTIVE BOOLEAN
NOT NULL,DEPARTMENTNUMBER INTEGER NOT NULL,DESCRIPTION VARCHAR(255),ORDER []
NOT NULL)“; 预期的“标识符”;
事情是我已经在另一个项目中做到了,我不明白为什么它不起作用。
Employee.java
@Entity
public class Employee extends AbstractScheduleEntity<EmployeeSchedule> {
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<Function> functions;
//getter and setter
}
函数.java
@Embeddable
public class Function implements Serializable {
private int order;
private boolean active;
private String description;
private int departmentNumber;
//getter and setter
}
我删除了Employee中不必要的一些属性。是什么导致此错误?是因为我在Employee中有一个String作为标识符吗?如果是这样,我如何告诉Hibernate添加Employee_EmployeeID作为标识符?谢谢
原来我很傻,并命名为“订单”列。想知道为什么H2不开心:upside_down:
将变量名更改为其他名称,它起作用了!
问题内容: 我似乎在Hibernate中映射列表时遇到问题。在我们的项目中有一类用含有类与含有。 Hibernate 是否可以使用注释进行映射?我的意思是,因为它没有注释? 问候 问题答案: 用途: 资料来源: 7.2.3。基本类型和可嵌入对象的集合
问题内容: 在甲骨文我有格式的日期 2011年4月17日19:20:23.707000000 我想检索2011年4月17日的所有订单。 但这给我带来了空洞的结果: 问题答案: 为什么使用)? 您应该使用。 请注意,您也可以使用,,,在日期对象作为比较操作。运算符不适用于这种情况,因为当您要根据列的部分内容匹配结果时很有用。请参阅http://www.sql- tutorial.net/SQL-LI
问题内容: 我在映射类的嵌入式属性时遇到麻烦。我创建了一些类,这些类与我试图说明的类相似。基本上,我有一个使用继承的@Embeddable类层次结构。顶级类“零件号”仅具有一个属性,扩展类未向“零件号”类添加任何属性,它们仅添加了一些验证/逻辑。 这是我的意思: 部分 零件号 福特PARTNUMBER 高贵的零件编号 当然这是行不通的,因为Hibernate忽略了继承层次结构,并且不喜欢PartN
问题内容: 我陷入了这个问题。数据库架构是由其他人提供的,因此我不能简单地更改名称。我尝试在各处添加适当的注释,也许我遗漏了一些(显而易见的)? 这是我的完整映射(很多类),我将省略getter / setter。 问题是当冬眠试图获得全部 控制规则 ControlRuleAttrib ControleRuleAttribPK 这里的问题是,是否有可能以某种方式得到实体的?如您所见,以下是的ID
问题内容: 假设我有一个带有数量字段和价格字段的持久类Item。有没有办法建立一个计算数量*价格之和的标准? 问题答案: 我认为您也可以使用SQL投影。应该是这样的: 奥里
问题内容: 有谁知道那里是否有一个能够从实体类中剥离Hibernate集合以使其可序列化的框架?我看了一下BeanLib,但它似乎只做实体的深层副本,而不允许我为实体类中的集合类型指定实现映射。BeanLib当前不适用于Hibernate 3.5和Spring 3(我确实修改了源代码并能够使其正常工作,但我不想这样做)。吉利德(Gilead)似乎是一个选择,但它似乎具有侵入性。我宁愿使用简单的深度