给出以下表格:
CREATE TABLE Employees
(
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
birth_date DATE NOT NULL,
PRIMARY KEY (first_name, last_name)
);
CREATE TABLE Managers
(
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
salary INTEGER NOT NULL,
total_bonus INTEGER NULL,
PRIMARY KEY (first_name, last_name),
CONSTRAINT managers_employees_fk FOREIGN KEY (first_name, last_name) REFERENCES Employees (first_name, last_name)
);
CREATE TABLE Workers
(
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
wage INTEGER NOT NULL,
PRIMARY KEY (first_name, last_name),
CONSTRAINT workers_employees_fk FOREIGN KEY (first_name, last_name) REFERENCES Employees (first_name, last_name)
);
如何使用JPA 1.0 @IdClass注释实现实体和复合主键类?
产生的子问题是:
-
子类是否定义了自己的ID类?
-
如果是这样,他们是否继承了超类的ID类?
-
子类是否获得@IdClass注释?
注意这个问题是故意天真的 . 我想看看类声明,带有字段访问注释的属性,没有getter和setter可能就足够了 .
谢谢
1 回答
PK在继承树的根中定义 . 根定义了所有 .
规范说主键必须在作为实体层次结构的根的实体类上定义,或者在映射的超类上定义,该超类是实体层次结构中所有实体类的(直接或间接)超类 . 主键必须在实体层次结构中只定义一次 .