我正在使用Hibernate 3.5.5
和HSQLDB 2.2.9
。我使用 JPA 语义来定义实体并拥有大约 10 个实体。
由于某些未知原因,HSQLDB 似乎没有选择三个实体,因为我在 HSQLDB 资源管理器中找不到相应的表,并且对这些表的任何引用都会导致 SQL 异常user lacks privilege or object not found: <TableName>
。
所有三个实体的格式都与其他实体相同,如下所示:
@Entity
@Table(name = "<TABLE_NAME>")
public class TableName
{
// private members;
// protected default constructor for the ORM
@Id
@Column(name = <PRIMARY_KEY>)
// public getter for Primary Key member.
@Column(name = <COLUMN_NAME>)
// public getters for all other members;
// protected setters
}
有没有人遇到过 HSQLDB 跳过某些实体的类似问题?
至少,它一直在跳过相同的三个实体,我无法弄清楚这些实体与其他实体有什么不同。所有这些实体都是使用 Eclipse 中的 JPA facet 生成的,因此它们之间没有区别。
编辑 1:
我的 persistence.xml 就是这样:
<persistence-unit name="fssPersistenceUnit" transaction-type="RESOURCE_LOCAL">
</persistence-unit>
并且 HSQLDB 2.0 用于选择所有带有 注释的实体@Entity
,而 HSQLDB 2.2.9 并没有选择所有实体,而是留下了前面提到的三个实体。
编辑 2:启用 SQL 语句的日志记录后,我看到这三个表的 CREATE TABLE 语句已回滚。我无法获得有关这些创建表语句有什么问题的任何进一步信息。此外,CREATE TABLE 语句在打印时会被截断。