父类Super,
@Entity
public class Super {
@GeneratedValue(strategy = GenerationType.AUTO)
@Id
private int id;
private String name;
//getters and setters...
}
然后,两个子类,
@Entity
public class M extends Super {
private String mName;
//getters and setters...
}
@Entity
public class N extends Super {
private String nName;
//getters and setters...
}
虽然Super已经是个Entity了,但是子类仍然需要标记上@Entity。
生成的表结构十分友爱,
ID | DTYPE | NAME | NNAME | MNAME |
1 | M | super | NULL | type m |
2 | N | super | type n | NULL |
子类的字段全部写上,两个子类万一有个重名的字段,估计就郁闷了..我猜生成数据库表并不会报错,但是插入数据将报错。继承同嵌入一样,同样需要一个规范来约束变量的命名呦...另外,还有一个DTYPE,varchar(31)...
分享到:
相关推荐
2. **联合表继承( Joined Table Inheritance)**:每个子类都有自己的表,父类的数据会被复制到每个子类的表中。这种方式可以避免单表继承中的空字段问题,但会增加数据库的表数量,可能影响查询效率。 3. **表格...
"JavaOne2009-JPA2映射的神秘之旅.pdf" 和 "JavaOne2009-JPA2新特征.pdf" 这两个文档,显然涵盖了JPA2的重要概念和新特性,特别是关于映射和框架的最新发展。以下是这两个主题的主要知识点: 1. **JPA2新特性**: ...
- `@Inheritance`:控制继承策略,如单一表继承或多表继承。 2. **属性映射(Attribute Mapping)**: - `@Basic`:用于基本类型的字段,表明其为简单的属性。 - `@Column`:定义属性映射到数据库表的列,包括...
8. **继承映射(Inheritance Mapping)**:JPA支持单表继承、联合继承和表格分层等策略,使你可以设计复杂的对象模型。 9. **懒加载(Lazy Loading)**:默认情况下,JPA实现如Hibernate支持懒加载,即关联的对象只...
- `@Inheritance` 和 `@InheritanceType`:定义实体继承策略,如SINGLE_TABLE、JOINED或TABLE_PER_CLASS。 通过这些批注,开发者可以精细控制实体类与数据库表之间的映射关系,以及处理各种复杂的关系和继承结构。...
**2. JPA开发手册** JPA开发手册通常会涵盖以下几个核心概念: - **实体(Entity)**: 表示数据库中的表,通过`@Entity`注解标记。 - **实体类(Entity Class)**: 实体类映射到数据库表,其属性对应表的字段。 - **...
这些文档可能涵盖了JPA的核心概念,如实体(Entity)、持久化上下文(Persistence Context)、事务(Transactions)、继承(Inheritance)、关联(Associations)等。此外,它们也可能讨论了如何配置JPA,包括数据源...
5. **继承(Inheritance)**:JPA提供了单表继承、联合继承和表格分隔继承三种策略,允许对象继承关系映射到数据库。 在**“jp2中是集成spring”**这部分,我们可以推断内容可能包括: 1. **Spring Data JPA**:...
9. **继承策略**:JPA提供了单表继承(Single Table Inheritance)、联合继承( Joined Table Inheritance)、表分离继承(Table per Class Inheritance)等策略,以处理复杂的类继承关系。 10. **查询语言**:Java...
这篇“JPA2映射的神秘之旅”深入探讨了JPA 2.0的核心概念,包括基本映射、关系映射、集合类型使用、嵌入映射、派生标识映射和继承映射。接下来将详细讲解这些知识点。 首先,JPA基本映射涉及到将Java对象的状态映射...
5. **继承策略**:介绍单表继承(Single Table Inheritance)、联合继承(Joined Table Inheritance)和表格派生(Table Per Concrete Class)三种策略,以及如何根据项目需求选择合适的策略。 6. **关联管理**:...
2. **联合继承(Joined Table Inheritance)**:每个子类都有自己的表,共享公共属性的表。使用`@Inheritance(strategy=InheritanceType.JOINED)`,每个子类需要额外定义`@Entity`和`@PrimaryKeyJoinColumn`来指定...
2. 必须有一个无参数的构造函数。 3. 类不能声明为final,方法和属性也不能声明为final,除非它们是非持久化属性。 4. 如果需要跨会话或远程传输,实体类应实现`Serializable`接口。 5. 持久化属性不应为public,应...
**持久化对象的标准JPA** Java Persistence API(JPA)是Java平台上的一个标准,用于管理关系数据库中的...在JPA_Test1和JPA_Test2这两个测试项目中,你可以看到这些概念如何实际应用于代码中,从而加深对JPA的理解。
2. **联合表继承( Joined Table Inheritance)**: 每个子类都有自己的数据库表,而父类的共享属性则存储在一个公共的表中。子类的表通过外键关联到父类的表。父类使用`@Inheritance(strategy = InheritanceType....
- **继承(Inheritance)**: JPA 支持单表继承、联合继承和表格继承三种策略。 **3. Spring Data JPA** Spring Data JPA 是 Spring 社区的一个子项目,它是 Spring Data 框架的一部分,提供了针对 JPA 的高级抽象...
2. 身份(Identity):`@Id`用于标识实体的主键字段,`@GeneratedValue`用于指示主键生成策略,比如自动增长或序列生成。如果实体使用复合主键,可以使用`@EmbeddedId`或`@IdClass`。 3. 直接映射:`@Basic`批注...
2. **JPA API**:提供了一套接口和类,用于操作实体对象,执行创建(Create)、读取(Read)、更新(Update)和删除(Delete)等CRUD操作。开发者可以通过这些API与数据库进行交互,而无需直接写SQL。 3. **查询...
### JPA试用知识点解析 #### 一、Java持久化体系结构(JPA)概述 - **背景**:Java持久性体系结构(JPA)作为Java标准的一部分,旨在为Java应用提供一种统一的对象持久化机制。它允许开发人员将Java对象(实体)...
2. **数据库模式属性批注**: - `@Table`:定义实体对应的数据库表名。 - `@Column`:定义实体属性与数据库列的映射。 - `@JoinColumn`:用于一对一和一对多关系,定义外键列的映射。 - `@JoinTable`:用于多对...