2016-05-12 30 views
0

我已經看到一些帖子在討論NamingStrategy但它並不精確我所尋找的(或者我不知道要接近它)。在JPA /休眠狀態下更改表名dynamiclly

我所需要的,在某些條件下,在@Entity類改變@Table的名稱傳遞一個ID,這樣的事情:

@Entity 
@Table(name = "SA1{companyID}") 
public class Cliente implements Serializable, Cloneable { 

那「companyID」將是這樣的:010, 020,030

有什麼可以實現的嗎?

+0

你是什麼意思「動態改變」?你想改變它並創建一個新的EMF? –

+0

我有這些表** SA1010,SA1030,SA1040 **具有相同的結構,取決於什麼公司的用戶是選擇(這是隻讀分貝)在不同的表上,我想使用相同的實體類。 –

+0

是的,這是每個公司的EMF?或者你想動態選擇表中EMF?! –

回答

2

這將是更好的,如果你使用@MappedSuperclass

@MappedSuperclass 
class Cliente { 

    @Column 
    private String xxx; 

} 

@Entity 
class SA1010 extends Cliente { 


} 
+0

謝謝,聽起來有趣,我會嘗試 –

+0

@flat_head_monkey不客氣 –

+0

是的,這個答案完全解決了我的問題。多謝了朋友。 –