gpt4 book ai didi

java - 从一个 Bean 创建两个 JPA 表?

转载 作者:行者123 更新时间:2023-12-02 10:51:48 25 4
gpt4 key购买 nike

我知道这在某种程度上是某种继承的简单问题,但我想我应该在这里仔细检查以确保。我正在做一个java棒球应用程序,我希望有两个表。一份用于球队击球统计,一份用于球员击球统计。即使我从中获取数据的 API 始终具有完全相同的字段(运行数、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 知道我想要两个单独的表?我还必须在投球和防守等方面这样做。所以这会节省我很多开销。

提前致谢,

最佳答案

我相信您想要实现的目标可以通过拥有一个具有常见字段的基类并使用@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

我认为您确实有特定于这两个类别的字段,如果所有字段都是通用的,并且您只想对击球统计条目进行分类,您应该考虑使用单个类别,并且它们具有引用 '统计数据的类型(例如球员或球队)。

关于java - 从一个 Bean 创建两个 JPA 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52124439/

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