在我的spring boot專案中,我有2個物體
。@Entity
@Table(name = "TABLE1", schema="Sch1")
...
@企業
@Table(name = "TABLE2", schema="Sch2") ...
我希望這兩種模式都能在application.properties中進行配置。有什么方法可以做到這一點嗎?
uj5u.com熱心網友回復:
這是不可能的。
在Java中,注解屬性值必須是一個常量運算式,因為它在編譯時被決議。因此,基于application.properties動態地配置這個屬性是不可能的。
假設將這些值配置在一個共同的、單一的地方是可以的,并且足以滿足你的使用情況,你可以做以下事情:
public class DatabaseConfiguration {
static final String TABLE1_SCHEMA = "Sch1"/span>。
static final String TABLE2_SCHEMA = "Sch2"/span>。
// (...)
}
@Entity
@Table(name = "TABLE1", schema = DatabaseConfiguration.TABLE1_SCHEMA)
...
@Entity
@Table(name = "TABLE2", schema = DatabaseConfiguration.TABLE2_SCHEMA)。
uj5u.com熱心網友回復:
不可以,但你可以嘗試做的是,在xml檔案中定義物體元資料。https://docs.jboss.org/hibernate/stable/annotations/reference/en/html/xml-overriding.html
然后你可以把這個xml檔案和maven資源過濾結合起來。 https://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html
或者,如果你使用 gradle,那么你應該呼叫 processResources gradle 任務。
要在構建時定義這個模式資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/317527.html
標籤:
