Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找不到休眠属性_Java_Hibernate_Apache Flex_Tomcat_Blazeds - Fatal编程技术网

Java 找不到休眠属性

Java 找不到休眠属性,java,hibernate,apache-flex,tomcat,blazeds,Java,Hibernate,Apache Flex,Tomcat,Blazeds,我们正在将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.h

我们正在将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
为什么会显示错误?控件来自flex端并执行java方法的起点…但是当涉及到hibernate stuff执行时,它在tomcat中显示了这个错误

但是当我将java+hibernate作为一个纯java应用程序执行时,它执行得很好

有人能帮我吗

谢谢

在@Andremoniy建议的修改之后编辑1,并将.cfg.xml放在src文件夹中,在eclipse中也可以,但在使用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)
org.hibernate.MappingException:需要AnnotationConfiguration实例
使用
在org.hibernate.cfg.Configuration.parseMappingElement(Configuration.jav
a:1606)
位于org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.jav
a:1561)
位于org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1540)
位于org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1514)
位于org.hibernate.cfg.Configuration.configure(Configuration.java:1434)
位于org.hibernate.cfg.Configuration.configure(Configuration.java:1420)
在com.sample.HibernateUtil.configureSessionFactory(HibernateUtil
.java:26)
在com.sample.HibernateUtil.(HibernateUtil.java:20)
位于com.sample.App.checkUser(App.java:34)

在我看来,您可以通过将
hibernate.cfg.xml
直接传递到
配置中来解决这个问题

try (InputStream in = HibernateUtil.class.getResourceAsStream("/hibernate.cfg.xml")) {
     Configuration configuration = new Configuration().addInputStream(in).configure();
...
} ... 

唯一的问题是,您必须正确地为
getResourceAsStream
指出路径或类。或者您可能想使用一些相对路径创建
InputStream

我想问题在于您提到的
配置代码。hbm.xml
可能在Tomcat中不起作用

我认为它需要
注释配置
对象。我猜您使用此代码是因为
注释配置
对象创建不起作用


最好使用pom创建一个maven hibernate项目,并将
war
文件导出到Tomcat(更改
Annotationconfiguration
)。还可以使用log4j jar显示Tomcat执行的细节和调试输出,这样Tomcat输出将打印所有的执行流。

我也遇到了同样的问题,但我在这里找到了解决方案

换线:

new Configuration().configure().buildSessionFactory();
致:


如果您使用了intellijidea,则需要将hibernate.cfg.xml文件放入resources文件夹中

如果您在下一个错误后将出现: org.hibernate.service.jndi.JndiException:解析jndi名称[]时出错

在hibernate.cfg.xml文件中删除标记的名称参见图片:


谢谢。我刚开始冬眠。但是getClass()是指向错误的。实际上是的,这是一个常见的例子。我已将其更改为
hibernate.class
,但实际上这取决于
hibernate.cfg.xml
的位置。放入放置
hibernate.java
的包中。@SamprityKashyap您将
hibernate.cfg.xml
文件放置在哪里?它位于src文件夹中(使用此文件时,它正在工作)…当我把它放在hibernateutil类的包中时,它会显示以下错误信息:HH000021:字节码提供程序名称:javassist java.lang.NullPointerException at org.hibernate.cfg.Configuration.add(Configuration.java:651)at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:685)嗨,你原来的问题中有什么错误?在您粘贴的堆栈中,我只能看到
hibernate.properties not found
,这不是一个错误。在我的原始问题中,执行通过打印我粘贴的堆栈停止,然后不执行查询和不输出..结果是这样的..我将show_sql设置为true,但没有打印..您检查了与数据库的连接吗?与我在tomcat中使用的cfg.xml文件相同…在eclipse中它正在工作与java应用程序一样完美。@cporte我使用jdk 1.7插件依赖项创建了maven hibernate项目,并部署到tomcat中…以前的annotationconfiguration显示已弃用…现在它没有显示任何错误。.它工作得非常好。.感谢您的建议
try (InputStream in = HibernateUtil.class.getResourceAsStream("/hibernate.cfg.xml")) {
     Configuration configuration = new Configuration().addInputStream(in).configure();
...
} ... 
new Configuration().configure().buildSessionFactory();
new AnnotationConfiguration().configure().buildSessionFactory();