最近业余时间在做ejb3 由于新版本引入了注解 刚开始很多注解不知如何用 写一个个看看帮助文档 基本就包含关系表的映射
的一些设置 平常经常用的一些
注解常用说明
必须将该类指定为 JPA 实体(使用此批注或 orm.xml 文件)。 @Entity
数据库模式属性 默认情况下,JPA 持续性提供程序假设实体名称对应于同名的数据库表,
且实体的数据成员名称对应于同名的数据库列。
使用这些批注覆盖此默认行为,并微调对象模型与数据模型之间的关系。 @Table
@SecondaryTable 辅助表连接到主表
@SecondaryTables 所有辅助表连接到主表
@Column 列属性
@JoinColumn 连接列
@JoinColumns 多个连接列
@PrimaryKeyJoinColumn 复合外键
@PrimaryKeyJoinColumns 所有复合外键
@JoinTable 连接表
@UniqueConstraint 唯一约束
身份 默认情况下,JPA 持续性提供程序假设每个实体必须至少有一个用作主键的字段或属性。
使用这些批注指定以下项之一:
一个 @Id
多个 @Id 和一个 @IdClass
一个 @EmbeddedId
还可以使用这些批注微调数据库维护实体身份的方式。 @Id 主键
@IdClass 复合主键类
@EmbeddedId 复合主键
@GeneratedValue 主键生成器值
@SequenceGenerator 主键生成器
@TableGenerator 表生成器
直接映射 默认情况下,JPA 持续性提供程序为大多数 Java 基元类型、
基元类型的包装程序以及 enums 自动配置一个 Basic 映射。
使用这些批注微调数据库实现这些映射的方式。 @Basic
@Enumerated 标注枚举类型
@Temporal 为 java.util.Date 和 java.util.Calendar 类型的字段
@Lob 对于基于字符串和字符的类型,默认值为 Clob。在所有其他情况下,默认值为 Blob
@Transient PA 持续性提供程序不会对批注为 @Transient
的属性或字段持久保存
关系映射 JPA 持续性提供程序要求您显式映射关系。
使用这些批注指定实体关系的类型和特征,以微调数据库实现这些关系的方式。 @OneToOne
@ManyToOne 多队一
@OneToMany 一对多
@ManyToMany 多对多
@MapKey Map 键
@OrderBy 排序
组合 默认情况下,JPA 持续性提供程序假设每个实体均映射到它自己的表。
使用这些批注覆盖其他实体拥有的此种实体行为。 @Embeddable
@Embedded
类型可以存储为拥有实体的固有部分,并共享该实体的身份
@AttributeOverride 覆盖超类的映射配置
@AttributeOverrides
@AssociationOverride 覆盖超类的映射配置
@AssociationOverrides
继承 默认情况下,JPA 持续性提供程序假设所有持久字段均由一个实体类定义。
如果实体类继承了一个或多个超类中的某些或所有持续字段,则使用这些批注。 @Inheritance
@DiscriminatorColumn
@DiscriminatorValue
@MappedSuperclass 指定一个实体类从中继承持久字段的超类
@AssociationOverride
@AssociationOverrides
@AttributeOverride
@AttributeOverrides
锁定 默认情况下,JPA 持续性提供程序假设应用程序负责数据一致性。
使用此批注启用 JPA 管理的乐观锁定(推荐使用)。 @Version
生命周期回调事件 默认情况下,JPA 持续性提供程序处理所有持续性操作。
如果您要在实体生命周期内随时调用自定义逻辑,请使用这些批注将实体方法与 JPA 生命周期事件关联。
@PrePersist
@PostPersist
@PreRemove
@PostRemove
@PreUpdate
@PostUpdate
@PostLoad
@EntityListeners
@ExcludeDefaultListeners
@ExcludeSuperclassListeners
实体管理器 在使用 JPA 持续性提供程序的应用程序中,您可以使用 EntityManager 实例执行所有持续性操作
(创建、读取、更新和删除)。
使用这些批注将实体与实体管理器关联并自定义实体管理器的环境。 @PersistenceUnit
@PersistenceUnits
@PersistenceContext
@PersistenceContexts
@PersistenceProperty
查询 在使用 JPA 持续性提供程序的应用程序中,可以使用实体管理器动态创建和执行查询,
也可以预定义查询并在运行时按名称执行它们。
使用这些批注预定义查询并管理它们的结果集。 @NamedQuery
@NamedQueries
@NamedNativeQuery
@NamedNativeQueries
@QueryHint
@ColumnResult
@EntityResult
@FieldResult
@SqlResultSetMapping
@SqlResultSetMappings
注解索引
A
@AssociationOverride
@AssociationOverrides
@AttributeOverride
@AttributeOverrides
B
@Basic
C
@Column
@ColumnResult
D
@DiscriminatorColumn
@DiscriminatorValue
E
@Embeddable
@Embedded
@EmbeddedId
@Entity
@EntityListeners
@EntityResult
@Enumerated
@ExcludeDefaultListeners
@ExcludeSuperclassListeners
F
@FieldResult
G
@GeneratedValue
I
@Id
@IdClass
@Inheritance
J
@JoinColumn
@JoinColumns
@JoinTable
L
@Lob
M
@ManyToMany
@ManyToOne
@MapKey
@MappedSuperclass
N
@NamedNativeQueries
@NamedNativeQuery
@NamedQueries
@NamedQuery
O
@OneToMany
@OneToOne
@OrderBy
P
@PersistenceContext
@PersistenceContexts
@PersistenceProperty
@PersistenceUnit
@PersistenceUnits
@PrimaryKeyJoinColumn
@PrimaryKeyJoinColumns
Q
@QueryHint
S
@SecondaryTable
@SecondaryTables
@SequenceGenerator
@SqlResultSetMapping
@SqlResultSetMappings
T
@Table
@TableGenerator
@Temporal
@Transient
U
@UniqueConstraint
V
@Version