spring-boot - Spring Boot JPA, if i have multiple tables with same column name can i put in same entity class?
问题描述
i am using as clause in my custom SQL statement and in entity class i'm using name from as clause. what is the best way to have multiple tables with same column names. separate entity classes?
解决方案
您可以有一个抽象类,您将在其中定义使用列名称注释的所有公共字段,并使用MappedSuperclass对其进行注释。
然后,对于每个共享相同列名的不同表,您创建一个扩展抽象类的新类,并用您的表名对其进行注释。
这样您就不必重复它们共有的列的定义。
@MappedSuperclass
abstract class Person {
// Common columns
@Id
@Column(name = "ID")
private Long id;
@Column(name = "AGE")
private Integer age;
// getters, setters, hashCode, equals...
}
@Entity
class Employee extends Person {
// This entity will include 'ID' and 'AGE' columns from 'Person'
@Column(name = "SALARY")
private BigDecimal salary;
// getters, setters, hashCode, equals...
}
@Entity
class Student extends Person {
// This entity will include 'ID' and 'AGE' columns from 'Person'
@Column(name = "FIELD")
private String field;
// getters, setters, hashCode, equals...
}
推荐阅读
- python - 如何在 Tensorflow 中保存 Tensor 类型的值?
- powerbi - PowerBI SHAPE MAP:一张地图有多个字段可供选择?
- c++ - Windows XP 和 Windows 10 上不同的日志记录时间
- android - cordova-plugin-barcodescanner 扫描选项在 phonegap 移动应用程序中工作,并在构建后停止工作
- python - 将显着性星号放在条形图中每个条形的水平中间
- ms-access - 试图计算一个 GST 字段,其中包含似乎在没有材料内容的情况下不起作用的材料和劳动力
- sas - 如何在为每个文件跳过多行的同时将多个未格式化的数据文件导入 SAS?
- excel - 如何在excel中查找每个类别的子类别数?
- grafana - 为 grafana 编写自定义面板插件
- javascript - 当用户键入电子邮件时,用于电子邮件验证的 Javascript 代码不起作用