zoukankan      html  css  js  c++  java
  • JPA注解数据类型

    import java.util.Date;
    
    import javax.persistence.Basic;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.EnumType;
    import javax.persistence.Enumerated;
    import javax.persistence.FetchType;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.Lob;
    import javax.persistence.Table;
    import javax.persistence.Temporal;
    import javax.persistence.TemporalType;
    import javax.persistence.Transient;
    
    @Entity
    @Table(name="person_jpa")
    public class PersonJPA {
     private Integer id;     //主键,自增
     private String name;
     private Date birthday;  //日期类型
     private Gender gender = Gender.MAN; //枚举
     private byte[] image;   //存放很大的字节流
     private String info;    //存放很大的文件
     private String imgpath; //不想映射到数据库中的表字段
     
     public PersonJPA(){}
     public PersonJPA(String name){
      this.name=name;
     }
     
     //id为主键,策略为auto,它为默认值,也可以省略下面括号里面的内容
     @Id @GeneratedValue(strategy=GenerationType.AUTO)
     public Integer getId() {
      return id;
     }
     public void setId(Integer id) {
      this.id = id;
     }
     @Column(length=20,name="person_name",nullable=false)
     public String getName() {
      return name;
     }
     public void setName(String name) {
      this.name = name;
     }
     /**
      * 使用@Temporal注解,可以设置日期类型
      * @return
      */
     @Temporal(TemporalType.DATE) @Column(length=12)
     public Date getBirthday() {
      return birthday;
     }
     public void setBirthday(Date birthday) {
      this.birthday = birthday;
     }
     /**
      * @Enumerated表示枚举注解
      * @return
      */
     @Enumerated(EnumType.STRING) @Column(nullable=false,length=8)
     public Gender getGender() {
      return gender;
     }
     public void setGender(Gender gender) {
      this.gender = gender;
     }
     /**
      * 使用@Basic注解,表示当获取person对象时,并不会加载该属性的值。只有当需要获取它的值时且
      * EntityManager是打开的,那么只需要调用它的get方法就可以了。有点类似懒加载原理。
      * @return
      */
     @Lob @Basic(fetch=FetchType.LAZY)
     public byte[] getImage() {
      return image;
     }
     public void setImage(byte[] image) {
      this.image = image;
     }
     /**
      * 使用@Lob注解,表示设置大字符串,例如一片文章等
      * @return
      */
     @Lob
     public String getInfo() {
      return info;
     }
     public void setInfo(String info) {
      this.info = info;
     }
     /**
      * 使用@Transient注解,表示该字段并不会映射到数据库的表字段
      * @return
      */
     @Transient
     public String getImgpath() {
      return imgpath;
     }
     public void setImgpath(String imgpath) {
      this.imgpath = imgpath;
     }
    
    }
    
    public enum Gender {
     MAN,WOMAN
    
    }
  • 相关阅读:
    排序算法——插入排序
    排序算法——选择排序
    排序算法——冒泡排序
    软件测试实例
    软件测试基础知识
    【数组】筛选数组arr中重复的元素,考虑时间复杂度
    【数组】最大子数组问题(要求时间复杂度最佳)
    【数组】合并两个排序数组
    【链表】循环链表插入元素
    P2668 斗地主 (NOIP 提高 2015)
  • 原文地址:https://www.cnblogs.com/lbangel/p/3022769.html
Copyright © 2011-2022 走看看