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 
} 

因此,所有的字段映射應該被繼承。 希望這會有所幫助

相關問題