私は2人のテーブル:personとuserを持っています。各ユーザーは個人です。それぞれの人はユーザーではありません。親と子が別個のIDを持つときに "is-a"関係を実装する方法
各テーブルには独自のPKがあります。これはテーブルのDDLです。
CREATE TABLE person (
person_pk int NOT NULL PRIMARY KEY,
first_name varchar(50) NOT NULL,
middle_name varchar(50) NULL,
last_name varchar(50) NOT NULL
);
CREATE TABLE user (
user_pk int NOT NULL PRIMARY KEY,
user_name varchar(50) NOT NULL UNIQUE,
password varchar(255) NOT NULL,
person_fk int NOT NULL FOREIGN KEY REFERENCES person(person_pk)
);
ここで、OOPで人とユーザーの「is-a」関係を定義します。 Personクラスとユーザークラスこうして:私は2つのクラスを定義することで、それは簡単だろうと思った
public class Person {
...
}
public class User extends Person {
...
}
しかし、私は、この場合のidを処理する方法について混乱しています。私は、 "is-a"関係にPersonクラスで定義されているIdが1つしかないと考えました。しかし、この場合、各テーブルには独自のIDがあります。この場合、どうすれば "is-a"関係を実装できますか?
:
この方法であなたは、このようなあなたのクラスを実装することができます。 Eclipse JPAリバースエンジニアリングを使用して、エンティティオブジェクト –