hibernat注解

来源:互联网 发布:ios去广告软件 编辑:程序博客网 时间:2024/06/16 04:20

Jackson是一个功能强大的Java串行化库。

1.@JsonProperty

   @JsonProperty    public String getNote() {        return note;    }

作用在字段或方法上,用来对属性的序列化/反序列化,可以用来避免遗漏属性,同时提供对属性名称重命名。
@JsonProperty 此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty(“name”)。

public class Name {  @JsonProperty("firstName")  public String _first_name;}将会生成如下所示的JSON数据结果:{ "firstName" : "Bob" }

2.@JoinColumn

@JoinColumn表示外键映射属性,和表的外键字段进行关联

@JoinColumn描述的是一个关联字段,如ManyToOne,则默认的名称由其关联的实体决定. 例如,实体Order有一个user属性来关联实体User,则Order的user属性为一个外键, 其默认的名称为实体User的名称+下划线+实体User的主键名称

@JoinColumn(name = "CONTAINER_ID", insertable = false,updatable = false)

insertable 可选,该列是否作为生成的insert语句中的一个列(默认值true)
updatable 可选,该列是否作为生成的update语句中的一个列(默认值true)

   @JoinColumn(updatable = false)   @ManyToOne(fetch = FetchType.LAZY)    public Member getSender()    {        return sender;    }

3.@JoinColumn

  @JoinColumn(name="rid")  @ManyToOne(fetch=FetchType.LAZY)

ManyToOne指定了多对一的关系,fetch=FetchType.LAZY属性表示在多的那一方通过延迟加载的方式加载对象(默认不是延迟加载)
 通过 JoinColumn 的name属性指定了外键的名称 rid (注意:如果我们不通过JoinColum来指定外键的名称,系统会给我们声明一个名称)

4. @NotEmpty
字符串非空

  /**     * 获取名称     *      * @return 名称     */    @JsonProperty    @NotEmpty    @Length(max = 200)    @Column(nullable = false)    public String getName()    {        return name;    }

5.@Column(nullable = false)
字段非空上面结合起来就是:既不你能空,也不能是空的字符串

6.@Lob

设置大数据类型,lob包括blob和clob,其中clob用于纯文本的,blob用于非文本的,比如图片

     /**     * 获取介绍     *      * @return 介绍     */    @Lob    public String getIntroduction()    {        return introduction;    }
0 0
原创粉丝点击