私はと働いていHibernate 3.5.5
ますHSQLDB 2.2.9
。私は JPA セマンティクスを使用してエンティティを定義し、約 10 個のエンティティを持っています。
なんらかの理由で、HSQLDB エクスプローラーで対応するテーブルが見つからず、それらのテーブルを参照すると SQL 例外が発生するため、HSQLDB は 3 つのエンティティを選択していないようですuser lacks privilege or object not found: <TableName>
。
3 つのエンティティはすべて、他のエンティティと同じ形式で、次のようになります。
@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 が一部のエンティティをスキップするという同様の問題に直面した人はいますか?
少なくとも、同じ 3 つのエンティティを一貫してスキップしており、他のエンティティとの違いを理解できません。これらのエンティティはすべて、Eclipse の JPA ファセットを使用して生成されるため、これらの間に違いはありません。
編集1:
私のpersistence.xmlは単にこれを持っています:
<persistence-unit name="fssPersistenceUnit" transaction-type="RESOURCE_LOCAL">
</persistence-unit>
および HSQLDB 2.0 では、注釈が付けられたすべてのエンティティを選択していましたが@Entity
、HSQLDB 2.2.9 はすべてを選択せず、前述のように 3 つのエンティティを残します。
編集 2 : SQL ステートメントのロギングを有効にした後、これら 3 つのテーブルの CREATE TABLE ステートメントがロールバックされていることがわかります。これらの create table ステートメントの何が問題だったのかについて、これ以上の情報を得ることができません。また、印刷時に CREATE TABLE ステートメントが切り捨てられます。