注解整理笔记

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 getResources() {

return resources;}

14@Transient

@SuppressWarnings("unchecked")

public List getResourceIds() {

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转换异常错误。

相关文档
最新文档