`
caiying0504
  • 浏览: 334582 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hbm文件id的配置

阅读更多
有两个实体类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”
请问我的配置文件错在那
分享到:
评论
2 楼 caiying0504 2007-06-25  
谢谢楼上的回答
驱动不能换,因为另一种驱动不支持二次查询,用不了hql
我用唯一外键关联的方式解决了上述的一对一关系
1 楼 rainlife 2007-05-25  
 <id name="id" type="java.lang.Integer" unsaved-value="0">  
             <column name="id" />  
             <generator class="identity" />        
         </id>  

配置文件没有错误,你换一个驱动,或将generator 改成native试试。

相关推荐

    代码自动生成工具 javabean hbm 配置文件

    1.终于在这个版本中实现了模板化管理,采用freeMarker模板来生成代码, 真正实现了自定义代码模板; 2.理论上可以生成任何...5.预计下个版本增加从PowserDesigner的 PDM文件,和 CMD文件 直接导入,并生成代码的功能

    Hibernate中单一映射笔记

    Hibernate开发过程(单一映射体) ...2创建映射文件XXXX.hbm.xml(包,类,id,字段) 3创建配置文件Hibernate.cfg.xml 4位置:映射文件于持久类同名且放在同一个包中。配置文件发在工程根目录下 5创建数据表 6测试

    hibernate配置

    配置hibernate.cfg.xml文件:该文件需放在src目录下 &lt;!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" ...

    SSH第7章上机.zip ACCP8.0

    无需写hibernate的配置文件,而是将hibernate的配置直接加入到spring配置文件中 配置hibernate的映射文件地址 --&gt; &lt;value&gt;com/direct/domain/Employee.hbm.xml&lt;/value&gt; &lt;value&gt;...

    ssh框架在application.xml中配置数据源所需jar

    --读取properties资源文件配置,如deploy.properties--&gt; &lt;bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"&gt; &lt;value&gt;classpath:/...

    ssh(structs,spring,hibernate)框架中的上传下载

     •FILE_ID:文件ID,32个字符,用Hibernate的uuid.hex算法生成。  •FILE_NAME:文件名。  •FILE_CONTENT:文件内容,对应Oracle的Blob类型。  •REMARK:文件备注。  文件数据存储在Blob类型的FILE_CONTENT...

    hibernate笔记

    课程内容 5 1 HelloWorld 5 2 Hibernate原理模拟 - 什么...7 建立Student 映射文件 Student.hbm.xml 6 8 将映射文件加入到hibernate.cfg.xml中 6 9 写测试类Main,在Main中对Student对象进行直接的存储测试 6 10 FAQ: 6

    hibernate 3中的缓存小结

    2) 选择合适的缓存插件,然后编辑该插件的配置文件。 2.4. 使用EhCache配置二级缓存: 2.4.1. 配置准备: 1) 把ehcache-1.2.3.jar加入到当前应用的classpath中。 2) 在hibernate.cfg.xml文件中加入EhCache缓存插件的...

    Hibernate1

    4.创建hibernate配置文件(文件名为hibernate.cfg.xml,一般我们将其放在根目录下面) &lt;!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" ...

    利用Eclipse开发Hibernate应用程序(2)

    如下图: 在上述界面的“Properties”标签中可以配置hbm的其他选项,包括文件扩展名,聚合列名,ID生成规则等。完成后,系统会自动生成一个名为“UserInfo.hbm”的文件,我们可以通过这个文件生成相关的存根类。在...

    Hibernate_Tools_for_eclipse_HbmTool.rar

    产生的代码和配置文件,如图示;代码自动产生后还需要你根据自己的业务逻辑检查一下,并按你的DAO架构完成,Hibernate Tools到这里已经帮你完成的大量编码工作。 【编辑推荐

    spring_MVC源码

    弃用了struts,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,...

    spring3.2+strut2+hibernate4

    -- 此处hibernate 的映射 采用的是.xml 配置同则应设置具体配置文件名(*.hbm.xml)&lt;/value&gt;--&gt; &lt;/list&gt; &lt;/property&gt; &lt;!-- 事务配置管理 --&gt; &lt;bean id="transactionManager" class="org.springframework...

    jdbc基础和参考

    3.hibernate的配置文件(hibernate.cfg.xml)得存在 4.POJO.hbm.xml文件存在 5.hibernate的jar包以及数据库的驱动包存在 Hibernate的编程: 1.构建Configuration对象读取配置文件 2.读取映射文件 3.构建SessionFactory...

    客户关系管理系统框架搭建(二)

    * 创建hibernate.cfg.xml文件连接数据库,加载SysUserGroup.hbm.xml文件,放置src下 &lt;property name="hibernate.connection.username"&gt;root &lt;property name="hibernate.connection.password"&gt;root ...

    Struts2和Hibernate框架实现图书管理系统

    4. 创建映射文件User.hbm.xml和Book.hbm.xml。 5. 创建数据库配置文件hibernate.cfg.xml。 6. 创建数据库连接工具类。 7. 设计数据库操作类:UserDao类和BookDao类。UserDao用于实现所有对user表的操作,BookDao用于...

    Java通用代码生成实用程序XDoclet(源码包)

    在指定的目录中生成文件InvitedCarrierModel.hbm.xml,代码如下: &lt;!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" ...

    JdbcTemplateTool.zip

    比如你没法像hibernate那样直接传一个对象给它让他拆分成sql并保存起来,当然这也是可以理解的,毕竟它并没有要求你去写 hbm.xml 文件所以无法知道你哪些字段要映射,哪些不要等等。又比如JdbcTemplate 可以帮忙把一...

    拦截器和控制器的区别

    3、starts2的使用思路 1、jar 2、配置文件 3、常用类 servletActionContext 4、访问流程 url -&gt; filter -&gt; struts.xml -&gt; package -&gt; action -&gt; name="userAction_*" -&gt; class -&gt; method="{1}" 5、核心struts.xml...

    asp.net知识库

    革新:.NET 2.0的自定义配置文件体系初探 关于如何在ASP.NET 2.0中定制Expression Builders 怎么在ASP.NET 2.0中使用Membership asp.net 2.0-实现数据访问(1) ASP.NET 2.0 新特性 .NET 2.0里使用强类型数据创建...

Global site tag (gtag.js) - Google Analytics