带有Hibernate 4.2.6+ Spring 3.2的EntityMode.Map

时间:2013-10-01 06:19:55

标签: hibernate spring-mvc

我正在尝试使用动态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吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

如果你在eclipse项目中有错误的hibernate库,那么eclipse错误可能会产生误导。检查eclipse项目中的hibernate版本,如果你使用的是maven,那么从命令行使用maven进行编译。

答案 1 :(得分:0)

Pankaj,我认为hibernate已经完全删除了以编程方式设置的实体模式。唯一的方法是在配置文件中配置一个单独的会话工厂,并配置实体模式。