java 实体类 注解 继承问题!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 实体类 注解 继承问题!相关的知识,希望对你有一定的参考价值。
参考技术A 你这属于继承映射,不能简单的在实体类中配置@Entity,你应该使用HibernateAnnotation中的《映射继承关系》具体怎么配置,自己去HibernateAnnotation文档查下
2.2.4.2.
每个类层次结构一张表(第一种,一共三种)
整个继承层次结构中的父类和子类的所有属性都映射到同一个表中,
他们的实例通过一个辨别符(discriminator)列来区分.:
//父类
@Entity
//继承类型使用的是一张表,继承映射分为3个类型,具体自己查
//继承映射成一张表的表结构是
父类字段+子类字段+一个鉴别字段(因为可以有多个子类继承父类,这个鉴别字段用于分别一条数据记录是属于那个子类的)
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
//鉴别字段
name="鉴别字段名称"
discriminatorType
鉴别字段数据类型
@DiscriminatorColumn(
name="planetype",
discriminatorType=DiscriminatorType.STRING
)
//鉴别字段值=Plane
,在保存Plane时,默认表中鉴别字段的值为Plane
//鉴别值不必非与实体类同名,随意起,别与其他重复就行
@DiscriminatorValue("Plane")
public
class
Plane
...
//子类
@Entity
//鉴别字段值=A320,在保存A320时,默认表中鉴别字段的值为A320
Plane@DiscriminatorValue("A320")
public
class
A320
extends
Plane
...
java 实体类 时间格式字段注解
@DatetimeFormat是将String转换成Date,一般前台给后台传值时用
@JsonFormat(pattern="yyyy-MM-dd") 将Date转换成String 一般后台传值给前台时
@JsonFormat会让时间以0区时间显示。如果直接使用会少了8小时修改为
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
以上是关于java 实体类 注解 继承问题!的主要内容,如果未能解决你的问题,请参考以下文章