0

我有两个实体类 -AB. 代码模板如下:

class A extends class B  {
    // ...
}

@Entity
@Table("OPERATION")
@DiscriminatorValue()
@Access()
class B  {
    // ...
}

B在 .sql 文件中有一个架构定义。类A没有任何模式定义。

我的问题是,类是否也不A需要在 .sql 文件中有模式定义,以便将其映射到关系数据库?我对此感到困惑,无法理解映射是如何发生的。

举一个更具体的例子,我有以下两个类OperationOperationAmend它们的代码如下:

 @Entity
 @DiscriminatorValue()
 @Access()
 class OperationAmend extends Operation {   
     //some functions here for amending an operation
 }

 @Entity
 @Table("OPERATION")
 @DiscriminatorValue()
 @Access()
 class Operation  {   
     //some functions here for the operation.
 }

SQL架构:

 CREATE TABLE OPERATION {    
     OperationId INT;    
     Name VARCHAR(20); 
 }

OperationAmend即使没有模式,如何保存该类?

4

1 回答 1

0

在 JPA 中,实体只需在 persistence.xml 中声明(或由提供者扫描)即可被识别。提供者为它生成一个模式。现在,数据库中可能不存在实现表,但这很容易修复。

于 2013-01-21T01:36:31.733 回答