Adeline学习之jpa注解

@Id        用于属性前  或者属性的getter方法前      标注用当前属性映射为数据库的主键列

@Column    该属性通常置于实体的属性声明语句之前,还可与 @Id 标注一起使用。标注的常用属性是 name,用于设置映射数据库表的列名。

@Entity  用于实体类声明语句之前  标注当前的类是实体类  将映射到指定的数据库表

@Table  用于实体类声明语句之前  标注当前的类对应的数据库的表  通常为@Table(name="表名")

@GeneratedValue  用于标注主键的生成策略

       –IDENTITY:采用数据库 ID自增长的方式来自增主键字段,Oracle 不支持这种方式;  

       –AUTO: JPA自动选择合适的策略,是默认选项

       –SEQUENCE:通过序列产生主键,通过 @SequenceGenerator 注解指定序列名,MySql 不支持这种方式

       –TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。

@Basic   表示一个简单的属性到数据库表的字段的映射,没有任何标注的 getXxxx() 方法,默认即为@Basic

@Transient  

        表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性.

        如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic

@Temporal  设置  数据库某一类型为datetime的列的时间显示格式 ,时间的精确度

   DATE:年-月-日

   TIMESTAMP:时间戳,精确到秒

@TableGenerator和@GenerateValue:

  @TableGenerator(name="ID_GENERATOR",
            table="jpa_id_generators",
             pkColumnName="PK_NAME",
             pkColumnValue="CUSTOMER_ID",
             valueColumnName="PK_VALUE",
             allocationSize=100)
    @GeneratedValue(strategy=GenerationType.TABLE,generator="ID_GENERATOR")
 

name 属性表示该主键生成策略的名称,它被引用在@GeneratedValue中设置的generator 值中

table 属性表示表生成策略所持久化的表名

pkColumnName 属性的值表示在持久化表中,该主键生成策略所对应键值的名称

valueColumnName 属性的值表示在持久化表中,该主键当前所生成的值,它的值将会随着每次创建累加

pkColumnValue 属性的值表示在持久化表中,该生成策略所对应的主键

allocationSize 表示每次主键值增加的大小, 默认值为 50

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值