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

スプリングデータJPA--mysql--findAll()が前に呼び出されない限り、findById()は空です

    私は同じ問題に直面していました。根本的な原因は、null許容でない@ManyToOne関係と、テーブルに保持されているデータとの不一致でした。私はこれを持っていました:

    @ManyToOne(optional = false)
      @JoinColumn(name="batch_id")
      private Batch batch;
    

    つまり、batch_idをどの行でもnullにすることはできません。ただし、batch_id外部キーの行の値がnullでした。オプションの=false(予想されるビジネスルール)を削除した後、findByIdは期待どおりに機能し始めました。

    このスレッドからの指示を得ました: JpaRepositoryで何かをするのに疲れましたが、findByIdで行が見つかりません



    1. Express.jsとMySQLモデル+検証

    2. 複数の外部キーを使用してテーブルを作成し、混乱しないようにする方法

    3. phpmysqlIN句がCSV変数で機能しません。最初の行のみが影響を受けます

    4. SQL Server(T-SQL)でデータベースメールアカウントを更新する