zoukankan      html  css  js  c++  java
  • spring @Entity @Table

    import java.io.Serializable;
    
     
    
    import javax.persistence.Column;
    
    import javax.persistence.Entity;
    
    import javax.persistence.Id;
    
    import javax.persistence.Table;
    
     
    
    @Entity
    
    @Table(name = "tbl_user" schema="SIMULATE" )
    
    publicclass User implements Serializable {
    
     
    
        private static final long serialVersionUID = 1L;
    
            
    
        @Id
    
        @GeneratedValue(strategy = GenerationType.AUTO)
    
        @Column(name = "id" insertable=false,nullable=false,updatable=false)    
    
        private Integer id;
    
     
    
        @Column(name = "name") 
    
        private String name;
    
     
    
        @Column(name = "age") 
    
        private String age;
    
     
    
        public Integer getId() {
    
            return this.id;
    
        }
    
        
    
        public void setId(Integer id) {
    
            this.id = id;
    
        }
    
     
    
        public String getName() {
    
            return name;
    
        }
    
     
    
        /****
    
         * 用户名
    
         * @param name
    
         */
    
        public void setName(String name) {
    
            this.name = name;
    
        }
    
     
    
        public String getAge() {
    
            return age;
    
        }
    
     
    
        public void setAge(String age) {
    
            this.age = age;
    
        }
    
     
    
        public User() {}
    
     
    
    }

    从上面代码来看开发实体Bean非常简单,比起普通的JavaBean就是多了些注释。

    @Entity注释指名这是一个实体Bean,

    @Table注释指定了Entity所要映射带数据库表,

    其中@Table.name()用来指定映射表的表名。如果缺省@Table注释,系统默认采用类名作为映射表的表名。

    实体Bean的每个实例代表数据表中的一行数据,行中的一列对应实例中的一个属性。

    @Column注释定义了将成员属性映射到关系表中的哪一列和该列的结构信息,属性如下:

    1)name:映射的列名。如:映射tbl_user表的name列,可以在name属性的上面或getName方法上面加入;

    2)unique:是否唯一;

    3)nullable:是否允许为空;

    4)length:对于字符型列,length属性指定列的最大字符长度;

    5)insertable:是否允许插入;

    6)updatetable:是否允许更新;

    7)columnDefinition:定义建表时创建此列的DDL;

    8)secondaryTable:从表名。如果此列不建在主表上(默认是主表),该属性定义该列所在从表的名字。

    @Id注释指定表的主键,它可以有多种生成方式:

    1)TABLE:容器指定用底层的数据表确保唯一;

    2)SEQUENCE:使用数据库德SEQUENCE列莱保证唯一(Oracle数据库通过序列来生成唯一ID);

    3)IDENTITY:使用数据库的IDENTITY列莱保证唯一;

    4)AUTO:由容器挑选一个合适的方式来保证唯一;

    5)NONE:容器不负责主键的生成,由程序来完成。

    @GeneratedValue注释定义了标识字段生成方式。

    @Temporal注释用来指定java.util.Date或java.util.Calender属性与数据库类型date、time或timestamp中的那一种类型进行映射。

    @Temporal(value=TemporalType.TIME)

    //oracle数据库自定义的sequences
    
    @SequenceGenerator(name = "MY_SEQUENCE", sequenceName = "INCREMENTA")
    
    @Id
    
    @GeneratedValue(strategy=GenerationType.SEQUENCE,generator="MY_SEQUENCE")
    
    @Column(insertable=false,nullable=false,updatable=false)
    
    private String id;

    转自:https://blog.csdn.net/u010081710/article/details/51692314

  • 相关阅读:
    jquery 将一组元素转换成数组
    QT5之三大重要窗体
    OSG消息传递机制分析
    OSG消息机制之消息分析
    OSG消息机制之事件处理概述
    OSG 3D场景渲染编程概述
    数据结构之中缀表达式转为后缀
    数据结构之小括号匹配
    考研复习策略
    数据结构之图
  • 原文地址:https://www.cnblogs.com/twoheads/p/9481221.html
Copyright © 2011-2022 走看看