2015-07-28 159 views
2
@Entity 
@Table(name="Test") 
public class Test { 

@Column(name="EXRA_INFO",length=200) 
    private String extraInfo; 
******* 
} 

这里我们仅指定java文件中的列属性值。无论如何都要从属性文件中读取这些属性值并使其可配置,以便将来如果需要更改长度值,则只会在配置文件中更改它。请帮忙!!从属性文件中读取hibernate注释属性值

+0

不是一个好的设计,你应该有多少个实体保持。 –

+0

不是太多。但我只想知道我们是否可以做到这一点。请让我知道是否有办法 – Sharique

回答

2

AFAIK,您不能将它保留在属性文件中,因为注释属性必须是编译时间常量。

但是,您可以将它作为常量放在Java类中。这样,当需要更改配置时,只更改该类。事情是这样的:

Config.java

public class Config { 
    public static final String TEST_TABLE_NAME = "Test"; 
    public static final String TEST_EXTRA_INFO = "EXTRA_INFO"; 
    public static final int STRING_COLUMN_LENGTH = 200; 
} 

Test.java

@Entity 
@Table(name = Config.TEST_TABLE_NAME) 
public class Test { 

@Column(name = Config.TEST_EXTRA_INFO, length = Config.STRING_COLUMN_LENGTH) 
    private String extraInfo; 
}