1

我正在使用Playframework 2.1.0构建一个简单的Web应用程序。多个表共享播放框架中的一个模型类

现在,我得到一个问题:

我有我的数据库中约20桌与像AB,DF,HD,ER等名称由于种种原因,他们的表格式是完全一样的,我不能只使用一个表来存储它们。我将一次使用特定的表格。

那么我可以只写一个模型类来表示这些表的表格格式吗?怎么样?

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

回答

3

我想你可以写一个抽象的超类的所有列映射这样的:

@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 
} 

因此,所有的字段映射应该被继承。 希望这会有所帮助

相关问题