未找到休眠属性 [英] hibernate properties not found

查看:24
本文介绍了未找到休眠属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在将 java blazeds hibernate 与 flex 项目集成.首先,我们在 eclipse 中测试了纯 java hibernate,它运行良好.但是当我们将相同的内容放入 tomcat 以与 blazeds 进行 flex 集成时,它显示以下错误.这是唯一的错误.

we are integrating the java blazeds hibernate with flex project..First we tested the pure java hibernate in eclipse and it is executing fine. But when we put the same in tomcat for flex integration with blazeds it is showing the following error.this is the only error.

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

这是 hibernate.cfg.xml(为了确定是否找不到 hibernate.cfg.xml,我通过删除 .cfg.xml 的 DOCTYPE 进行了测试,然后 tomcat 输出显示说找不到根元素......这意味着它能够找到 hibernate.cfg.xml(我认为)

this is the hibernate.cfg.xml(To identify whether hibernate.cfg.xml is not found and i tested by deleting DOCTYPE of .cfg.xml then tomcat output displayed saying the root element is not found...which means it is able to find the hibernate.cfg.xml( i think)

 <?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.java

this is hiberutil.java

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中显示这个错误......

why the error is showing? the control is coming from flex side and executing the starting point of the java method...but when it comes to hibernate stuff execution, it is showing this error in tomcat...

但是当我将 java+hibernate 作为纯 Java 应用程序执行时,它运行良好..

But when i execute java+hibernate as a pure java application it is executing fine..

有人可以帮我吗?

谢谢

EDIT 1 在@Andremoniy 建议的修改之后,将 .cfg.xml 放在 src 文件夹中,这里也在 eclipse 中工作,但在 tomcat 中没有 flex

EDIT 1 After the modification suggested by @Andremoniy and putting the .cfg.xml in src folder and here also in eclipse it is working but not in tomcat with flex

出现以下错误

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)

推荐答案

我想问题在于您提到的 .hbm.xml 配置代码可能无法在 Tomcat 中工作.

I guess the problem is with the code for configuration you mentioned for .hbm.xml may not be working in Tomcat.

我认为它需要 AnnotationConfiguration 对象.我猜您使用此代码是因为 Annotationconfiguration 对象创建不起作用.

I think it needs AnnotationConfiguration object. I guess you used this code due to the Annotationconfiguration object creation is not working.

最好用pom创建一个maven hibernate项目,将war文件导出到Tomcat(修改Annotationconfiguration).还使用 log4j jar 来显示带有调试输出的 Tomcat 执行的详细信息,以便 Tomcat 输出将打印所有执行流程.

Better create a maven hibernate project with pom and export the war file to Tomcat (with the changes of Annotationconfiguration). Also use log4j jar for showing the details of Tomcat execution with the debug outputs, so that Tomcat output will print all of execution flow.

这篇关于未找到休眠属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆