gpt4 book ai didi

spring-boot - Spring Boot JPA,如果我有多个具有相同列名的表,我可以放在同一个实体类中吗?

转载 作者:行者123 更新时间:2023-12-05 02:15:00 25 4
gpt4 key购买 nike

我在自定义 SQL 语句中使用 as 子句,在实体类中我使用 name from as 子句。拥有多个具有相同列名的表的最佳方法是什么。单独的实体类?

最佳答案

您可以有一个抽象类,您将在其中定义所有用列名注释的公共(public)字段,并用 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...
}

关于spring-boot - Spring Boot JPA,如果我有多个具有相同列名的表,我可以放在同一个实体类中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52769291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com