1

データベースに存在しないテーブルにマップされているエンティティを永続化しようとしています。エンティティクラスは

 @Entity
 @Table(name = "NEWTABLE")
 public class Account {
       @Id
       @Column(unique=true)
       private int accountNo;
       private String customerName;

       // Respective Getters and Setters

NEWTABLEデータベースに存在しません。このエンティティを永続化しようとすると、次のエラーが表示されます。

Internal Exception: java.sql.SQLException: ORA-00942: table or view does not exist

unique=trueしかし、注釈の を削除すると、@Columnエンティティが永続化されます。その理由を教えていただけると大変助かります。前もって感謝します。

4

1 に答える 1

0

最初にアノテーションなしで試し、次にunique=true条件でオブジェクトuniqueを永続化しようとしましたか。Account

はいの場合、インプレーススキーマを更新して制約をに変更できないため、理由が正しい可能性がありますUnique=true

Hibernateを使用している場合は、次を試してください。

<property name="hibernate.hbm2ddl.auto">update</property>

スキーマが存在しない場合はスキーマを作成し、定義したマッピングに一致するように既存のスキーマを変更しようとします。

于 2012-12-28T05:28:46.277 に答える