春のデータに新しく、私は解決できない問題があります。 mySqlデータベースを持ち、OneToOneを使用して外部キーを使用してテーブルからデータを取得しようとしています。クエリを実行スプリングjpa - oneToOneセカンダリテーブルからデータを選択しない - mySql
Table 1 - location
id int(11) pk nn UQ
zipcode varchar(11) NN UQ
city varchar(45) NN
lat Double NN
lon Double NN
Table 2 - weather
id INT(11) PK NN
location_id INT(11) NN
desc varchar(45) NN
Foreign Key name fk_location_id referenced table location column location_id referenced column id - pointed to location column id.`
WeatherData.java列の定義 @OneToOne (fetch = FetchType.LAZY) @JoinColumn(name="fk_location_id") private LocationData location;
コード:log.infoラインに上記のコードでブレークポイントを設定し for (WeatherData weather : repository.findAll()) { log.info(weather.toString()); }
` や天候を見てレコードが返されました。ロケーション値はnullです。 OneToOne列名をidに設定してみると成功しませんでした。
私は間違っていますか?
あなたが提供したリンクの例に従っていました。フェッチオプションをフェッチするように変更しましたが、現在はロケーションテーブルのtoStringオーバーライドの変換例外が発生しています。理由はわかりませんが、場所オーバーライドのtoStringメソッドを呼び出さないでください。 – Pauly