@Basic

[@Basic]   
    用于声明属性的存取策略:
    表示一个简单的属性到数据库表的字段的映射,对于没有任何标注的 getXxxx()方法,
    默认即为@Basic
    @Basic(fetch=FetchType.EAGER) 即时获取(默认的存取策略)
    @Basic(fetch=FetchType.LAZY) 延迟获取
    @Basic(optional=false) optional:表示该属性是否允许为 null,默认为 true
    示例:
    @Basic(optional=false)
    public String getAddress() {
        return address;
    }

package sun.rain.amazing.javax.anno.domain;

import lombok.Data;

import javax.persistence.*;

/**
 * @author  sunRainAmazing
 */
@Entity
@Data
public class UserBasic {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    /**
     * @Entity 下 默认的属性注解
  *
    * @Basic
    *   fetch
    * (可选)定义字段或属性的值是否应该 懒加载 或 热提取。
  *   optional
    *  定义字段或属性的值是否为空。默认为true(可以为空)
    */
    @Basic
    private String username;

    private String email;
}
/*
CREATE TABLE `user_basic` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(255) DEFAULT NULL,
  `username` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

 */



猜你喜欢

转载自blog.csdn.net/sunrainamazing/article/details/80783303
今日推荐