我正在尝试使用动态hibernate模型,下面是获取会话的代码片段。我已在hibernate session factory config xml中将“hibernate.default_entity_mode
”声明为“dynamic_map
”。
// Declared at class level
@Autowired
private SessionFactory sessionFactory;
//In specific java-method
Session pojoSession = sessionFactory.getCurrentSession();
Session ds = pojoSession.getSession(EntityMode.MAP);
仍然,我在eclipse中得到一个异常 - 第二行是“The method getSession(EntityMode) is undefined for the type Session
”,同时尝试从pojoSession获取dynamicSession。
我正在使用Hibernate 4.2.6.Final core和entity-manager& spring 3.2 framework jar。
任何人都可以协助解决我的错误吗?
更新:似乎4.2.6 org.hibernate.Session
类实际上缺少该方法。此外,检查早期版本4.2.1,4.2.3等,但没有看到为Session类定义的任何getSession()
方法。不确定该功能是否已被删除。任何人都可以协助支持EntityMode.MAP
的最新版本的hibernate吗?
谢谢!
答案 0 :(得分:0)
如果你在eclipse项目中有错误的hibernate库,那么eclipse错误可能会产生误导。检查eclipse项目中的hibernate版本,如果你使用的是maven,那么从命令行使用maven进行编译。
答案 1 :(得分:0)
Pankaj,我认为hibernate已经完全删除了以编程方式设置的实体模式。唯一的方法是在配置文件中配置一个单独的会话工厂,并配置实体模式。