Hibernate 实体与表映射注解

本文深入解析了Java注解在JSON序列化过程中的应用,包括@JsonIgnore、@JsonIgnoreProperties、@JsonFormat、@JsonSerialize、@JsonDeserialize等注解的功能和用法。同时,详细介绍了如何使用@OneToMany和@ManyToOne注解实现多对一和一对多的关系映射。通过实例演示,读者可以掌握在实际项目中如何灵活运用这些注解,提高代码的可读性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@Transient

@[email protected]映射,ORM框架将忽略该属性;
如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient ,否则ORM框架默认其注解为@Basic

//表示该字段在数据库表中没有

@Transient
public int getAge() {
 return 1+1;
}

 

Jackson相关:

2、@JsonIgnoreProperties

此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。

 

3、@JsonIgnore

此注解用于属性或者方法上(最好是属性上),作用和上面的@JsonIgnoreProperties一样。

 

4、@JsonFormat

此注解用于属性或者方法上(最好是属性上),可以方便的把Date类型直接转化为我们想要的模式,比如@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")

 

5、@JsonSerialize

此注解用于属性或者getter方法上,用于在序列化时嵌入我们自定义的代码,比如序列化一个double时在其后面限制两位小数点。

 

6、@JsonDeserialize

此注解用于属性或者setter方法上,用于在反序列化时可以嵌入我们自定义的代码,类似于上面的@JsonSerialize

原文:http://www.cnblogs.com/guijl/p/3855329.html

---------------------------------------------------------------------------------------------------


1、@OneToMany(mapped=“由One的一方指向Many的一方,并且,这个属性应该等于Many的一方中含有One类的属性的属性名,否则会出错啦 ”)
如:
在ClassPO中:

@OneToMany(targetEntity=StudentPO.class,mappedBy="myclass",cascade=javax.persistence.CascadeType.ALL)
@Cascade(CascadeType.ALL)
private Set<StudentPO> studentSet;

在StudentPOst中:

@ManyToOne(targetEntity=ClassPO.class,cascade={CascadeType.ALL})
private ClassPO myclass;

其中ClassPO中的mappedBy=  StudentPOst中的  myclass;

2、如果我们没有填mapped这个属性,则会产生三张表,一张表是用来管理这两张表的,如 主键中mappedBy的具体使用及其含义

3、mappedBy这个属性在OneToMany或者ManyToOne属性中,只在OneToMany才有,才能定义。

原文:http://blog.sina.com.cn/s/blog_697b968901016s7f.html

转载于:https://my.oschina.net/u/580438/blog/640121

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值