[@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
*/