如何根据属性设置注释值?

时间:2016-09-05 06:31:04

标签: java hibernate

我正在使用hibernate的ORM和hibernate-generator以注释方式生成Entity。我需要经常切换数据库(dev / release)。所以,我每次都要改变实体的注释。我想知道是否有办法配置它。

@Entity
@Table(name = "my", catalog = "dev_db")
public class MyEntity {

}

如您所见,我每次都要更改目录。如何根据jdbc.properties

进行配置

1 个答案:

答案 0 :(得分:1)

您可以使用Interceptor来修改hibernate生成的SQL。

public String onPrepareStatement(String sql) {
    String superSQL = super.onPrepareStatement(newSQLWithNamespace);
    //replace all catalog occurencies with desired value in the superSQL
    return superSQL;
}

参见例如Add a column to all MySQL Select Queries in a single shot

您的拦截器可以从config读取目录值并更改SQL。