大規模なレガシースキーマのマッピングに関するアドバイスを探しています。
これが状況です。BusinessTransactionというクラスがあるとします。このクラスには、ユーザーIDを参照するいくつかのフィールドがあります。
@Entity
public class BusinessTransaction implements Serializable {
private Long id;
private User createdBy;
private User editedBy;
private User cancelledBy;
private String department;
// etc
}
public class User implements Serializable {
private Long id;
private String department;
//etc
}
ただし、BusinessTransactionテーブルとUserテーブルの間に外部キーはありません。SQLでは、ユーザーは部門キーの左外部結合を介してBusinessTransactionに接続されます。
これらの外部キーを作成するには、結合テーブルを作成する必要があります。私たちのDBAは、外部キーまたは結合テーブルのいずれかを作成することを躊躇しており、作成する理由は理解できます(バッチスクリプトへの影響、アプリへの副作用の可能性など)。
私が持っていた他の唯一のアイデアは、JoinFormulaの使用でした。ただし、@ JoinFormulaには最高のドキュメントがありません。私の理解では、データは読み取り専用になります。
役に立つものを見落としていますか?
編集:部門を追加しました。
ジェイソン