zoukankan      html  css  js  c++  java
  • JPA @Id 和 @GeneratedValue 注解详解

    JPA @Id 和 @GeneratedValue 注解详解

    @Id: 
    @Id 标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。 
    @Id标注也可置于属性的getter方法之前。

    @GeneratedValue: 
    @GeneratedValue 用于标注主键的生成策略,通过strategy 属性指定。默认情况下,JPA 自动选择一个最适合底层数据库的主键生成策略:SqlServer对应identity,MySQL 对应 auto increment。 
    在javax.persistence.GenerationType中定义了以下几种可供选择的策略: 
    –IDENTITY:采用数据库ID自增长的方式来自增主键字段,Oracle 不支持这种方式; 
    –AUTO: JPA自动选择合适的策略,是默认选项; 
    –SEQUENCE:通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式 
    –TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。

    推荐的两种写法: 
    属性之上:

    getter方法之上:

    但是不能某个注解在属性之上,某个注解在getter之上,将抛出异常,对其他注解也相同


  • 相关阅读:
    网页日历显示控件calendar3.1
    切换“使用被动式FTP”
    href="javascript:xxx(this);"和onclick="javascript:xxx(this);"的区别
    CSS布局--上中下布局(上下固定,中间自适应)
    css字体颜色动画
    怎么让jQuery支持swipe事件
    html 5 canvas
    javascript面向对象
    WEB相关存储方式
    angularjs
  • 原文地址:https://www.cnblogs.com/mark5/p/10929137.html
Copyright © 2011-2022 走看看