找不到java hibernate属性
我们正在将java blazeds hibernate与flex项目集成。。首先,我们在eclipse中测试了纯java hibernate,它执行得很好。但是,当我们在tomcat for flex与blazeds集成时,它显示了以下错误。这是唯一的错误
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.6
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Configuration configure
INFO: configuring from resource: /hibernate.cfg.xml
Jan 24, 2013 11:31:31 AM org.hibernate.cfg.Configuration getConfigurationInputSt
ream
INFO: Configuration resource: /hibernate.cfg.xml
这是冬眠。cfg。xml(用于确定是否未找到hibernate.cfg.xml,我通过删除.cfg.xml的DOCTYPE进行了测试,然后tomcat输出显示未找到根元素…这意味着它能够找到hibernate.cfg.xml(我想)
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:mysql://localhost/test</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<property name="current_session_context_class">thread</property>
<mapping class="com.model.User" />
<mapping class="com.model.UserDetails" />
<mapping class="com.model.LoanDetails" />
<mapping class="com.model.BorrowerDetails" />
</session-factory>
</hibernate-configuration>
这是hiberutil。爪哇
public class HibernateUtil
{
private static SessionFactory sessionFactory=configureSessionFactory();
private static ServiceRegistry serviceRegistry;
private static SessionFactory configureSessionFactory() throws HibernateException {
Configuration configuration = new Configuration();
configuration.configure();
serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
return sessionFactory;
}
public static SessionFactory getSessionFactory()
{
return sessionFactory;
}
}
为什么会显示错误?控件来自flex端并执行java方法的起点。。。但是当涉及到hibernate的执行时,它在tomcat中显示了这个错误
但是当我将java+hibernate作为一个纯java应用程序执行时,它执行得很好
有人能帮我吗
谢谢
在@Andremoniy建议的修改后编辑1,并将。cfg。src文件夹中的xml和eclipse中的xml都在工作,但在使用flex的tomcat中不起作用
下面是一个错误
org.hibernate.MappingException: An AnnotationConfiguration instance is required
to use <mapping class="com.model.User"/>
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.jav
a:1606)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.jav
a:1561)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1540)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1514)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1434)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1420)
at com.sample.HibernateUtil.configureSessionFactory(HibernateUtil
.java:26)
at com.sample.HibernateUtil.<clinit>(HibernateUtil.java:20)
at com.sample.App.checkUser(App.java:34)
# 1 楼答案
我也遇到过同样的问题,但我在这里找到了解决办法
http://www.mkyong.com/hibernate/hibernate-error-an-annotationconfiguration-instance-is-required-to-use/
换句话:
致:
# 2 楼答案
如果你似乎使用了Intellij Idea,你需要将休眠。cfg。xml文件放入资源文件夹
如果下一个错误发生后: org。冬眠服务jndi。JndiException:解析JNDI名称[]时出错。
在hibernate中删除。cfg。标签的xml文件名参见图片:
# 3 楼答案
我猜问题在于您提到的
.hbm.xml
配置代码可能在Tomcat中不起作用我认为它需要
AnnotationConfiguration
对象。我猜您使用这段代码是因为Annotationconfiguration
对象创建不起作用最好用pom创建一个maven hibernate项目,并将
war
文件导出到Tomcat(更改为Annotationconfiguration
)。还可以使用log4jjar显示Tomcat执行的细节和调试输出,这样Tomcat输出将打印所有的执行流# 4 楼答案
在我看来,您可以通过将
hibernate.cfg.xml
直接传递到Configuration
来解决这个问题唯一的一件事是,您必须正确地指向路径或类,例如
getResourceAsStream
。或者,您可能希望使用一些相对路径创建InputStream