gpt4 book ai didi

Java 从属性文件创建 SessionFactory

转载 作者:行者123 更新时间:2023-12-01 15:02:23 26 4
gpt4 key购买 nike

我正在通过读取项目外部的属性文件来创建 session 工厂。我的属性文件如下,

hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.username=root
hibernate.connection.password=root
hibernate.connection.url=jdbc:mysql://localhost:3306/hi5
hibernate.dialect=org.hibernate.dialect.MySQLDialect
entity=CmtFreeformpages,CmtNewsTicker

我通过读取属性文件来创建 Sessionfactory,如下所示,

properties.load(new FileReader(new File(global.constants.GlobalConstants.parentDirectory + File.separator + global.constants.GlobalConstants.propertiesFile)));
Configuration configuration = new Configuration().setProperties(properties);
Set<Object> setOfProperties = properties.keySet();
for(Object propertyObject : setOfProperties){
if (propertyObject != null) {
String propName = propertyObject.toString();
if(propName.equalsIgnoreCase("entity")){
String value = properties.getProperty(propName);
Object[] entities = value.split(",");
for(int i=0;i<entities.length;i++){
configuration.addAnnotatedClass(entities[i]);
}
sessionFactory = configuration.buildSessionFactory();

但是configuration.addAnnotatedClass方法不接受字符串。那么如何将带注释的类添加到配置中?

谢谢

最佳答案

由于 addAnnotatedClass() 接受 Class,因此您需要使用 Class.forName 获取给定类名的 Classes ():

configuration.addAnnotatedClass(Class.forName(entities[i]));

请注意,Class.forName() 需要完全限定的类名称,即包含包名称。

关于Java 从属性文件创建 SessionFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13454253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com