Ajax 传递字符串,该字符串是hibernate的createcriteria中实体/电阻类的名称

Ajax 传递字符串,该字符串是hibernate的createcriteria中实体/电阻类的名称,ajax,database,spring,hibernate,Ajax,Database,Spring,Hibernate,我必须动态加载通过控制器传递的表,当我必须编写Aspect createCriteria的hibernate peristance逻辑时,我给出: getSession().createCriteria( Class.forName(tableName)).list() 其中tableName是一个字符串,它将包含类的名称。即使在那个时候,我也并没有遇到任何问题,并且得到了ClassNotFoundException。它适用于 getSession().createCriteria(Book.

我必须动态加载通过控制器传递的表,当我必须编写Aspect createCriteria的hibernate peristance逻辑时,我给出:

getSession().createCriteria( Class.forName(tableName)).list()
其中tableName是一个字符串,它将包含类的名称。即使在那个时候,我也并没有遇到任何问题,并且得到了ClassNotFoundException。它适用于


getSession().createCriteria(Book.class).list()
在我的例子中,我觉得它是硬编码的。请帮助我动态调用哪些表。

是否传递准确的类名?比如com.myproject.Myclass或者您只是在写表名????
您应该使用与Class.forName(..)方法一起使用的完整类名。

是否传递准确的类名?比如com.myproject.Myclass或者您只是在写表名????
您应该使用与Class.forName(..)方法一起使用的完整类名。

tableName的内容是什么。显示完整的stacktrace。tableName的内容是什么。显示完整的堆栈跟踪。此外,使用“MyClass.class”并没有什么不好的。我不认为这是硬编码。如果需要,我可以实例化一个相同字符串的对象吗。我的意思是:书b=新书();等效于Class.forName(“Book”).newInstance()?实际上,对于相同的需求,我必须实例化对象以便在entriesMoreover表上执行CRUD,使用“MyClass.class”并没有什么不好的。我不认为这是硬编码。如果需要,我可以实例化一个相同字符串的对象吗。我的意思是:书b=新书();等效于Class.forName(“Book”).newInstance()?实际上,对于相同的需求,我必须实例化对象,以便对表条目执行CRUD