注解整理笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注解整理笔记
@是java中的注解。
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
1@SuppressWarnings("serial") 实体类注解例子
2@Entity
3@Table(name = "T_BASE_ROLE")
5@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE,
region = CacheConstants.HIBERNATE_CACHE_BASE)
//jackson标记不生成json对象的属性
4@JsonIgnoreProperties (value = { "hibernateLazyInitializer" ,
"handler","fieldHandler" ,"resources","users"})
public class Role extends BaseEntity implements Serializable {
6@Id
7@GeneratedV alue(strategy = GenerationType.AUTO)
8@Column(name = "ID")
public Long getId() {
return id;}
@Excel(exportName="记录创建者", exportFieldWidth = 30)
protected String createUser;
9@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
@Column(name = "CREATE_TIME", updatable = false)
10@Temporal(TemporalType.TIMESTAMP)
public Date getCreateTime() {
return createTime;}
11@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE},
fetch = ZY) 12@JoinTable(name = "T_BASE_ROLE_RESOURCE",
joinColumns = { @JoinColumn(name = "ROLE_ID") },
inverseJoinColumns = { @JoinColumn(name = "RESOURCE_ID") }) 13@OrderBy("id")
public List
return resources;}
14@Transient
@SuppressWarnings("unchecked")
public List
if (!Collections3.isEmpty(resources)) {
resourceIds = ConvertUtils.
convertElementPropertyToList(resources, "id");
}
return resourceIds;}
实体类注解详解
1、@SuppressWarnings("serial") 可选
ng.SuppressWarnings是J2SE 5.0中标准的Annotation之一,可以标注在类、字段、方法、参数、构造方法,以及局部变量上,其作用为告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。
●@SuppressWarnings("unchecked")
告诉编译器忽略unchecked 警告信息,如使用List,ArrayList等未进行参数化产生的警告信息。
●@SuppressWarnings("serial")
如果编译器出现这样的警告信息:The serializable class WmailCalendar does not declare a static final serialVersionUID field of type long使用这个注释将警告信息去掉。
●@SuppressWarnings("deprecation")
如果使用了使用@Deprecated注释的方法,编译器将出现警告信息。
使用这个注释将警告信息去掉。
●@SuppressWarnings("unchecked", "deprecation")
告诉编译器同时忽略unchecked和deprecation的警告信息。
●@SuppressWarnings(value={"unchecked", "deprecation"})
等同于@SuppressWarnings("unchecked", "deprecation")
2、@Entity(name="TableName") 必选
表示标注该类为实体类。
●name:可选,对应数据库中一的个表。
3、@Table(name="",catalog="",schema="") 可选
表示其对应数据库表信息,通常和@Entity配合使用,只能在实体的class定义处。
●name:可选,表示表名称,默认表名和实体名称一致,只有在不一致时才需指定表名;
●catalog:可选,表示Catalog名称,默认为Catalog("");
●schema:可选,表示Schema名称,默认为Schema("")。
4、@JsonIgnoreProperties (value = { "hibernateLazyInitializer" ,
"handler","fieldHandler" ,"resources","users"})
此注解为类注解,是jackson在实际应用提供的注解,作用是json序列化时将java bean 中的一些属性忽略掉,序列化和反序列化都受影响。
忽略value后的数组中包含的属性的json转化,主要是防止一些Json转换异常错误。