package org.easyframe.enterprise.spring;
import jef.database.DbClientBuilder;
import jef.database.DbUtils;
import jef.database.jpa.JefEntityManagerFactory;
import org.springframework.beans.factory.FactoryBean;
import org.springframework.beans.factory.InitializingBean;
/**
* 供Spring上下文中初始化EF-ORM Session Factory使用
*
* @author jiyi
*
*/
public class SessionFactoryBean extends DbClientBuilder implements FactoryBean<JefEntityManagerFactory>, InitializingBean {
public void afterPropertiesSet(){
instance = buildSessionFactory();
}
public JefEntityManagerFactory getObject(){
return instance;
}
public void close() {
if (instance != null) {
instance.close();
}
}
public Class<?> getObjectType() {
return JefEntityManagerFactory.class;
}
public boolean isSingleton() {
return true;
}
public SessionFactoryBean setDataSource(String url,String user,String password) {
this.dataSource=DbUtils.createSimpleDataSource(url, user, password);
return this;
}
}