有两个实体类user和point
它们是一对一的关系
这是我的hbm文件
point.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="org.ankang06.external.trainingschool.core.Point"
table="TRAININGSCHOOL_POINT">
<id name="id" column="id" type="java.lang.Integer">
<generator class="foreign">
<param name="porperty">user</param>
</generator>
</id>
<property name="allPoint" type="java.lang.Integer">
<column name="all_point" />
</property>
<property name="knowInPoint" type="java.lang.Integer">
<column name="know_in_point" />
</property>
<property name="knowOutPoint" type="java.lang.Integer">
<column name="know_out_point" />
</property>
<!-- 设置user类与point类的一对一关系 -->
<one-to-one name="user" class="org.ankang06.external.trainingschool.core.User" constrained="true"/>
<!-- 设置point类与pointHistory类的一对多关系 -->
<set name="pointHistory" inverse="true">
<key column="point_id" />
<one-to-many
class="org.ankang06.external.trainingschool.core.PointHistory" />
</set>
</class>
</hibernate-mapping>
user.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="org.ankang06.external.trainingschool.core.User"
table="TRAININGSCHOOL_USER">
<id name="id" type="java.lang.Integer" unsaved-value="0">
<column name="id" />
<generator class="identity" />
</id>
<property name="userID" type="java.lang.Integer" unique="true"
index="INDEX_USER_ID">
<column name="user_id" not-null="true" />
</property>
<property name="name" type="java.lang.String">
<column name="name" length="50" not-null="true" />
</property>
<property name="otherName" type="java.lang.String">
<column name="other_name" length="50" />
</property>
<property name="type" type="java.lang.Integer">
<column name="type" />
</property>
<property name="gender" type="java.lang.Integer">
<column name="gender" />
</property>
<property name="introduce" type="java.lang.String">
<column name="introduce" length="50" />
</property>
<property name="companyName" type="java.lang.String">
<column name="company_name" length="50" />
</property>
<property name="provinceName" type="java.lang.String">
<column name="province_name" length="50" />
</property>
<!-- 设置User类与UserCircle类的多对一关系 -->
<many-to-one name="userCircle" column="user_circle_id"
foreign-key="FK_USER_USERCIRCLE"
class="org.ankang06.external.trainingschool.core.UserCircle" />
<!-- 设置User类与Question类的一对多关系 -->
<bag name="questions" cascade="all" lazy="false">
<key column="user_id" foreign-key="FK_QUESTION_USER" />
<one-to-many
class="org.ankang06.external.trainingschool.core.Question" />
</bag>
<!-- 设置User类与Answer类的一对多关系 -->
<bag name="answers" cascade="all" lazy="false">
<key column="user_id" foreign-key="FK_ANSWER_USER" />
<one-to-many
class="org.ankang06.external.trainingschool.core.Answer" />
</bag>
<!-- 设置User类与UserBulletin类的一对多关系 -->
<bag name="bulletins" cascade="all" lazy="false">
<key column="user_id" foreign-key="FK_USERBULLETIN_USER" />
<one-to-many
class="org.ankang06.external.trainingschool.core.UserBulletin" />
</bag>
<!-- 设置User类(message的接受方)与UserMessage类的一对多关系 -->
<bag name="toMessages" inverse="true">
<key>
<column name="touser_id" />
</key>
<one-to-many
class="org.ankang06.external.trainingschool.core.UserMessage" />
</bag>
<!-- 设置User类(message的发送方)与UserMessage类的一对多关系 -->
<bag name="fromMessages" inverse="true">
<key>
<column name="fromuser_id" />
</key>
<one-to-many
class="org.ankang06.external.trainingschool.core.UserMessage" />
</bag>
<!-- 设置user类与point类的一对一关系 -->
<one-to-one name="point"
class="org.ankang06.external.trainingschool.core.Point" cascade="all"
outer-join="true" />
</class>
</hibernate-mapping>
我想用主键关联的形式标明他们的一对一关系
我使用的mssql,用jtds驱动
在使用工具生成表的时候jboos报出以下错误
“could not instantiate id generator”
请问我的配置文件错在那
分享到:
相关推荐
XDoclet则是一个元数据注解处理器,它能够解析Java源代码中的特定注解,并自动生成相应的配置文件,如Hibernate的HBM文件。HBM文件是Hibernate用来映射Java类与数据库表之间关系的XML文件,它定义了对象-关系映射...
Hibernate 是一个流行的 Java 平台上的对象关系映射(ORM)...通过理解并熟练掌握 `hbm.xml` 文件的配置,开发者可以有效地利用 Hibernate 实现对象与数据库之间的无缝映射,提高开发效率并减少数据库操作的复杂性。
在Hibernate中,XML配置文件是连接对象模型与数据库模型的关键,而`.hbm.xml`文件就是这种映射的载体。本文将深入探讨Hibernate的`.hbm.xml`配置文件以及其内部的映射类型。 首先,让我们了解`.hbm.xml`文件的作用...
在 MyEclipse 中,我们可以使用 Hibernate 根据现有的数据库表结构生成实体和 hbm.xml 配置文件,这样可以避免手动编写 JPA 或 Hibernate 实体类。下面是生成实体和 hbm.xml 文件的步骤: 首先,需要创建一个 JPA ...
Middlegen是一款强大的Java持久层开发工具,它主要用于将数据库中的表结构自动转换为Hibernate的映射文件(Hbm文件)。这款插件极大地简化了Java开发者在处理数据持久化时的工作,通过自动化的方式生成必要的代码,...
### structs的配置文件hbm.xml知识点详解 #### 一、概述 在介绍具体的配置细节之前,我们先来了解一下struts2、Hibernate3.2以及Spring2.0这三种技术的基本概念及其整合的意义。 1. **Struts2**:是Apache基金会...
* hbm.xml 文件:用于配置 Hibernate 的映射关系的文件。 * Id.java 文件:如果表中存在复合主键或没有主键,则将生成该文件。 四、 将生成文件整合到项目中 1. 将生成文件放在项目对应路径中:将生成的文件放在...
- `Course.hbm.xml`:这是一个关于Course实体的映射文件,可能会包含课程ID、课程名、学分等相关属性的映射,以及可能的与其他实体(如Student、Teacher)的关联设置。 通过这个压缩包,开发者可以学习到如何根据...
1.终于在这个版本中实现了模板化管理,采用freeMarker模板来生成代码, 真正实现了自定义代码模板; 2.理论上可以生成任何...5.预计下个版本增加从PowserDesigner的 PDM文件,和 CMD文件 直接导入,并生成代码的功能
Hibernate是Java领域的一个流行ORM框架,HBM文件用于定义数据库对象与Java实体类之间的映射关系。在SSH环境下,可能涉及到如何通过SSH连接到数据库服务器,以及如何配置Hibernate以读取或更新远程数据库的HBM映射...
Hibernate 配置文件详解 Hibernate 是一个流行的 ORM(Object-Relational Mapping)框架,用于简化 Java 应用程序中的数据库交互。 Hibernate 的配置文件是其核心组件之一,用于定义 Hibernate 的运行期参数。下面...
HBM文件是XML文件,描述了实体类与数据库表之间的映射关系,包括字段类型、长度、是否为主键、是否可为空等详细信息。使用HBM文件可以让NHibernate自动处理对象到表的转换。 4. NHibernate.inc:这可能是一个包含...
1. **配置文件**:在`hibernate.cfg.xml`文件中,我们可以这样配置`hbm2ddl`属性: ```xml <property name="hibernate.hbm2ddl.auto">create ``` 这样,每当应用程序启动时,Hibernate都会检查`User`实体类并...
每个实体类对应一个`.hbm.xml`文件,其中包含了类名、属性名、字段类型、主键信息以及关联关系等配置。这些信息让Hibernate能够理解如何在数据库和Java对象之间进行自动的映射和转换。 例如,对于一个名为`User`的...
总之,`hibernate.hbm.xml`文件是Hibernate的核心配置文件,它清晰地定义了Java对象和数据库表之间的映射关系,以及主键生成策略。熟练掌握其结构和用法,能有效提高Hibernate应用的开发效率和数据管理的准确性。
在Hibernate的.hbm.xml配置文件中,每个`<class>`元素代表数据库中的一个表,而`<id>`元素定义了主键的映射,包括主键生成策略。如上文所述,Hibernate提供了多种主键生成策略,包括assigned、hilo、seqhilo、...
Hibernate 是一个流行的对象关系映射(ORM)工具,它提供了使用 XML 文件(hbm.xml)来配置映射关系的方式。这种方式可以将 Java 类与数据库表进行映射,使得开发者可以更方便地访问和操作数据库。 在使用 ...
首先,Hibernate的反向工程(Reverse Engineering)功能可以帮助开发者从现有的数据库中生成实体类、持久化映射文件(.hbm.xml)以及相关的配置文件。这极大地简化了数据访问层的开发工作,因为无需手动编写这些繁琐...