当前位置: 首页 > 知识库问答 >
问题:

将hibernate 4与hbm.xml和xsd一起使用

仲孙鸿飞
2023-03-14

在谷歌搜索了很多之后,现在感到困惑和沮丧。

我正在将一个应用程序从Hibernate 3升级到4。这在使用dtd 3.0时效果很好,但现在需要使用4.0 xsd,而这正是一切都要基于apex的地方!

该应用程序使用hbm.xml文件来配置每个实体,没有任何注释。

找到hbm文件的示例将非常有用,但即使是hibernate 4的教程也只使用3.0 dtd!

我正在使用以下内容

<hibernate-mapping
    xmlns="http://www.hibernate.org/xsd/hibernate-mapping"
    xsi:schemaLocation="http://www.hibernate.org/xsd/hibernate-mapping hibernate-mapping-4.0.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    package="org.hibernate.metamodel.binding">

使用它,我得到了一个长长的错误列表,根本原因是

原因:组织。xml。萨克斯。SAXParseException;行号:6;列号:51;cvc elt。1: 找不到元素“hibernate映射”的声明。

我对多个Google页面的阅读表明我仍然需要一个令人困惑的doctype,我认为我只是误解了,当我添加doctype时,Eclipse会抱怨hibernate映射元素的定义。忽略该错误(只是eclipse config的incase问题)会得到与运行时错误相同的结果:

必须为元素类型“hibernate mapping”声明属性“xmlns”

我找不到hbm的教程或示例。使用hibernate 4 xsd的xml文件。

谁能帮我摆脱痛苦?

共有2个答案

锺离浩慨
2023-03-14

关于“xmlns”attrannon te的消息有点混乱,尽管您所要做的就是从hibernate-映射元素中删除所有属性,只留下pack属性。至少,它对我有用。

孟修竹
2023-03-14

试试这个:

<?xml version="1.0" encoding="UTF-8"?>

<hibernate-mapping package="your.package.name"
    xmlns="http://www.hibernate.org/xsd/hibernate-mapping"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.hibernate.org/xsd/hibernate-mapping
        http://www.hibernate.org/xsd/hibernate-mapping/hibernate-mapping-4.0.xsd">

    <!-- your mappings --->

</hibernate-mapping>

注意,这指向一个外部地址(http://www.hibernate.org).

理想情况下,我们将使用Hibernate在hibernate-core.jar.中打包的本地XSD文件

我不知道Hibernate是否会像Spring一样拦截这些请求并返回本地副本。

 类似资料:
  • 我正在尝试使用maven jaxb2插件生成编组和解编组对象。但我没有这个机会。的xsd文件。wsdl。模式定义是内联的。请告诉我如何进行?

  • 我创建了一个新的VS2012项目使用热毛巾模板,作为回报,使用Durandal,淘汰赛和微风。 我想使用jaydata而不是微风,对于ui层,我想使用出色的asKendoDataSource()功能来为kendoui网格供电。 我按照所有的指示,使kendoui工作良好的杜兰达尔。这很好。 我有一个模型,在这个模型中,我获取jaydata实体并在其上运行asKendoDataSource()。“我

  • 我正在尝试学习python、mongodb和flask,我正在使用Miguel Grinberg提供的非常优秀的博客,他在博客上提供了一套很棒的教程。米格尔格林伯格。通用域名格式 我有一个小的RESTful服务器工作正常,但现在想从mongo而不是mysql中提取东西 我可以使用下面的代码拉出mongo记录,但我很难让它呈现出来。 我在下面的代码中使用了箭头来显示我在哪里挣扎,我认为缺乏经验。任何

  • 我目前正在使用Wink 1.1.1和Spring 3.1.2迁移一个Java应用程序从WAS7到WAS8.5.5。我正在尝试使用Wink 8.5中可用的本地Wink集成,而不是使用我们目前在Wink 7中使用的单独Wink罐。 我得到了一个错误的服务器启动,看起来像这样: 原因:java。lang.ClassNotFoundException:org。阿帕奇。眨眼服务器内部的登记处。java上的R

  • 问题内容: 因此,我一直在为这个(应该是)简单的练习而绞尽脑汁,以使该程序将日期字符串转换为对象,对其进行格式化,并在完成后将其作为字符串再次返回。 这是程序的最后一点,它从文件中获取一小段文本,将其分解为单独的记录,然后将记录分解为单独的数据并将它们分配给个人对象。 我已经在多个位置检查了该代码,并且该代码完全执行了应该执行的操作,直到调用了format函数(该函数抛出)为止。为对象分配了应该分

  • 问题内容: 我想在目录中获取具有特定扩展名的文件列表。在中,我看到了可以做到这一点的方法。 由于我需要特定的扩展名,因此我创建了一个。但是,当我与此一起使用时,出现编译错误。我以为自以来,我应该能够做到这一点。代码如下: 最后一行显示编译错误: 类型的方法不适用于类型的参数 我正在尝试使用,不是。为何编译器无法识别这一点? 如果我编写自己的扩展筛选器,则此方法有效。我宁愿使用而不愿自己写。我究竟做