私は次の5つのクラスを持っています[他の属性とメソッドはスキップされました]
CommonInterface.java
import java.util.Vector;
public class CommonInterface {
public Vector myDescription;
public Vector myPartyPlaceThing;
public Vector myRole;
public Vector myMomentInterval;
}
Description.java
import java.util.Vector;
public class Description {
public Vector myPartyPlaceThing;
public Vector myCommonInterface;
}
PartyPlaceThing.java
import java.util.Vector;
public class PartyPlaceThing {
public Vector myRole;
public Description myDescription;
public Vector myCommonInterface;
}
Role.java
import java.util.Vector;
public class Role {
public Vector myMomentInterval;
public PartyPlaceThing myPartyPlaceThing;
public Vector myCommonInterface;
}
MomentInterval.java
import java.util.Vector;
public class MomentInterval {
public Role myRole;
public Vector myMIDetail;
public Vector myCommonInterface;
}
MIDetail.java
public class MIDetail {
public MomentInterval myMomentInterval;
}
ここで、これらのクラスのデータをデータベース[mysql]に永続化します。ここで、「tableName in DB == classNameinjava」
そのような属性が外部キーとして含まれることは知っていますが、問題は基本的にテーブルがどのように作成されるかということです。
たとえば、テーブルの説明には、外部キーとしてpartyplacethingが含まれます。これは、説明のテーブルを作成する前に、partyplacethingのテーブルが存在している必要があることを意味します。他のクラスの場合も同様であるため、デッドロックを作成します。partyplacethingなどを作成する前に、「役割と説明」のテーブルが必要です。私が正常に作成できる唯一のテーブルはMIDetailのものです(現在は独立しています)。
元の関係が維持され、データベースにデータを正常に保持できるように、モデルを変更するにはどうすればよいですか?