gpt4 book ai didi

java - play framework中多表共享一个模型类

转载 作者:行者123 更新时间:2023-11-29 05:39:04 25 4
gpt4 key购买 nike

我正在使用 Playframework 2.1.0 构建一个简单的网络应用程序。

现在我有一个问题:

我的数据库中有大约 20 个表,名称如 AB、DF、HD、ER 等。由于某些原因,它们的表格式完全相同,我不能只使用一个表来存储它们。我一次只使用一个特定的表。

那我能不能只写一个模型类来指明那些表格的表格格式呢?怎么办?

如果可以,我应该如何编写代码将模型类动态映射到我数据库中的一个特定表?

最佳答案

我认为您可以编写一个包含所有列映射的抽象父类(super class):

@MappedSuperclass
public abstract class AbstractModel {
protected int id;
protected String property1;

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "ID_SEQ")
@Column(name = "id")
public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

@Column(name = "prop1")
public String getProperty1() {
return property1;
}

public void setProperty1(String property1) {
this.property1 = property1;
}
}

然后编写具体的模型:

@Entity
@Table(name = "AB")
public class AB extends AbstractModel {
//some additional fields if you wish
private String property2;

@Column(name = "prop2")
public String getProperty2() {
return property2;
}

public void setProperty2(String property2) {
this.property2 = property2;
}
//additional code here
}

所以应该继承所有的字段映射。希望这有帮助

关于java - play framework中多表共享一个模型类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18350156/

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