sql >> データベース >  >> RDS >> Oracle

SpringBootHibernateクエリの無効なユーザーエラー

    問題は次のようです:

    この特性のため:

    spring.jpa.properties.hibernate.hbm2ddl.auto = update
    

    そして、Postsエンティティがユーザーを参照するように変更されたという事実により、Hibernateは外部キー制約を追加しようとします:

    alter table posts add constraint FK6xvn0811tkyo3nfjk2xvqx6ns foreign key (author_id) references users
    

    しかし、このエラーが発生します:

    ORA-02268: referenced table does not have a primary key
    

    @Idアノテーションが明確に存在するため、hibernateがこのテーブルに主キーを追加しない理由がわかりません。

    主キーを追加してみてください Users.id列に手動で制約します:

    ALTER TABLE users
     ADD CONSTRAINT users_pk PRIMARY KEY (id);
    

    更新

    Order by句で使用しているため、Post.dataマッピングに問題がある可能性があります。

    ドキュメントによると:

    java.util.Dateを使用しているので、これを追加する必要があります:

    @Temporal(TemporalType.DATE)
    private Date date = new Date();
    



    1. Oracle:2つの日付間のHH:MM:SSの時間差を計算します

    2. OracleのSYS_EXTRACT_UTC()関数

    3. MySQLクエリを最適化して、whereの使用を回避します。一時的な使用; filesortの使用

    4. postgresqlクエリで文字列のリスト内の列挙型を検索するにはどうすればよいですか?