java 实体类 注解 继承问题!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 实体类 注解 继承问题!相关的知识,希望对你有一定的参考价值。

参考技术A 你这属于继承映射,不能简单的在实体类中配置@Entity,你应该使用Hibernate
Annotation中的《映射继承关系》具体怎么配置,自己去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 实体类 注解 继承问题!的主要内容,如果未能解决你的问题,请参考以下文章

[转]实体类注解

实体类属性名字不规范用啥注解改

Java自定义注解注解实现实体类与数据库表字段的映射

Java自定义注解注解实现实体类与数据库表字段的映射

Mybatis-plus 实体类继承关系 插入默认值

JPA实体继承实体的映射策略