参考のために、私はPlayを使用しています!フレームワーク。存在しない可能性のあるオブジェクトへのJPAの関係
デバイス上のセンサーによって収集されたデータを表すJPAエンティティがあります。ここではクラス宣言の関連部分は以下のとおりです。
@Entity
public class Data extends Model
{
@ManyToOne
Device dataCollector;
@ManyToOne
User user;
}
トラブルがある
が、私は関係なく、自分がローカルデータベースに登録されているのデバイスからデータを収集できるようにする必要があり、そのIDを持っているデバイスがあるかもしれませんIDはローカルデータベースとは関係ありません。
JPAがData
テーブルを作成する方法は、dataCollector
の列はちょうどDevice
IDです。しかし、Device
のIDを持つレコードを取得しようとすると、Device
オブジェクトをインスタンス化できないため、例外がスローされます。
Device
のIDをData
オブジェクトに格納するだけで問題を解決できたかもしれませんが、オブジェクトを作成するJPAのクリーンな状態を本当に楽しむことができます。 Data
オブジェクトにIDのレコードがない場合、JPAにデフォルトのインスタンス化Device
を渡す方法はありますか?