我知道这在某种程度上是某种继承的简单问题,但我想我会在这里仔细检查以确保。我正在做一个 java 棒球应用程序,我希望有两个表。一份用于球队击球统计,一份用于球员击球统计。即使我从中获取数据的 API 始终具有完全相同的字段(runs、home_runs、batting_average 等)我正在使用 JPA 来定义我的表,我不想为我的两个表定义两个类。如.. @Entity @Table(name="PLAYER_BATTING_STATS") public class PlayerBattingStats implements Serializable { //All 23 fields of data here ...然后立即创建..@Entity@Table(name="TEAM_BATTING_STATS")public class TeamBattingStats implements Serializable {//Exact Same columns here for different table有没有办法创建一个类,但让 JPA 知道我想要两个单独的表?我还必须在投球和防守等方面这样做。所以这将为我节省很多开销。提前致谢,
1 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
我相信,通过拥有一个具有通用字段的基类并使用@MappedSupperClass.
基类:
@MappedSuperClass
abstract class BaseBattingStats implements Serializable
//common fields go here
球员等级:
@Entity
@Table(name="PLAYER_BATTING_STATS")
public class PlayerBattingStats extends BaseBattingStats implements Serializable {
//fields that are specific to Player class go here
团队类:
@Entity
@Table(name="TEAM_BATTING_STATS")
public class TeamBattingStats extends BaseBattingStats implements Serializable {
//fields that are specific to Player class go here
我假设您确实有特定于这两个类的字段,如果所有字段都是通用的,并且您只想对击球统计条目进行分类,您应该考虑使用单个类,并且它们具有引用“类型”的枚举统计数据(例如球员或球队)。
添加回答
举报
0/150
提交
取消