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

Hibernate配置联合主键(内部类实现主键)

阅读更多

public class A{

   private A.id id;
   private String bar;


   public static class Id{

      private String a;
      private String b;

     //重写eqauls和hashcode方法
     //getter,setter
  }

   //getter,setter

}

   映射文件:

  <hibernate-mapping package="org.xx.yyy.zzzz">

	<!--
		Depends on Hibernate configuration with hibernate.hbm2ddl.auto=update.
	-->

	<class name="A" table="TA">
	    <composite-id name="id" class="XmlSchemaGrant$Id">
            <key-property name="a" type="string">
                <column name="a" />
            </key-property>
            <key-property name="b" type="string">
                <column name="b" />
            </key-property>
        </composite-id>
		 
		<property name="bar" column="bar" type="text"
			  not-null="false" />
	 
	</class>

   注意Java类中,Id类必须是静态类,否则会报No default constructor for entity的错误。

   注意配置文件中,配置联合主键的class中间要用$符号。

 

   关于静态内部类,其相当于写在Java文件中的普通类。可参考以下文字:

  http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.1.3

https://forum.hibernate.org/viewtopic.php?f=1&t=973414&view=previous

 写道
Check out this section of the Java language spec that explains the difference between static and non-static inner classes:
http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.1.3

A static inner class is conceptually no different than a regular general class declared in a .java file.
 
分享到:
评论

相关推荐

    hibernate-3.5.6 源码

    2. **配置文件**:在Hibernate中,`hibernate.cfg.xml`是主要的配置文件,用于设定数据库连接信息、实体类映射、缓存策略等。通过解析这个文件,Hibernate能建立起与数据库的连接,并了解如何映射Java类到数据库表。...

    hibernate 经典题目 其中包括很多核心的题目

    6. Hibernate 的其他关键概念还包括缓存(一级缓存是 Session 内部缓存,二级缓存通过插件实现),Criteria 查询,HQL 的优点在于它的面向对象性质,以及 Criteria 和 Query API 提供的动态查询能力。事务管理通常...

    Hibernate课程的总结

    2. 联合主键:处理多个字段作为主键的情况。 3. 批量操作:`session.saveOrUpdateAll()`、`session.deleteAll()`等。 4. 分页查询:使用`FirstResult`和`MaxResults`限制返回结果数量。 **九、最佳实践** 1. 避免...

    hibernate3 入门

    2. **配置文件**:`hibernate.cfg.xml` 是 Hibernate3 的配置文件,用于设置数据库连接信息、实体类的映射等基础设置。 3. **实体类与映射文件**:每个数据库表通常对应一个Java实体类,通过`hibernate-mapping`...

    Hibernate 参考文档

    - **XML配置文件**:介绍Hibernate配置文件的结构和用法。 #### 四、持久化类(Persistent Classes) - **POJO简单示例** - **为持久化字段声明访问器和是否可变的标志**:解释了如何通过getter和setter方法暴露实体...

    hibernate应用开发完全手册(源码)

    9. **实体关系映射**:包括一对一、一对多、多对一、多对多等各种关系的映射,以及联合主键、外键约束等高级映射技巧。 10. **性能调优**:通过合理设置缓存策略、批处理、连接池等方式,可以显著提升Hibernate应用...

    Hibernate3 源代码

    Hibernate 提供了 `@Entity`、`@Table`、`@Id` 等注解来声明实体、表映射和主键。 4. **映射机制(Mapping Mechanism)** - **Hibernate 映射文件(hbm.xml)**: 定义了 Java 类与数据库表之间的映射关系,包括...

    hibernate各种操作

    1. Hibernate配置 Hibernate的配置通常通过`hibernate.cfg.xml`文件完成,其中包含了数据库连接信息、实体类扫描路径、方言设置等。例如,配置数据库URL、用户名和密码: ```xml &lt;property name="hibernate....

    hibernate 总结

    组件映射允许将Java对象的字段或属性映射到数据库中的复合类型或联合主键。文档讲解了依赖对象、动态组件以及组件作为Map的索引或联合标识符的映射方法,提高了代码的可读性和维护性。 ### 继承映射 继承映射策略...

    hibernate_reference中文文档.pdf

    - **4.2 实现继承 (Inheritance)**:讲解如何在 Hibernate 中实现类的继承。 - **4.3 实现 equals() 和 hashCode() 方法**:解释为什么需要覆盖这些方法,并如何正确地实现它们。 - **4.4 动态模型 (Dynamic models)...

    hibernate3.2源码包

    11. **多态性(Inheritance)**:Hibernate支持单表继承、联合继承和表分片等多种多态映射策略,使得面向对象的继承关系能够很好地映射到数据库。 12. **关联映射(Association Mapping)**:包括一对一(OneToOne...

    Hibernate学习教程和笔记

    - **联合主键**: 在实体类中通过`&lt;id&gt;`或`@Id`标注多个属性作为主键。 #### 七、Hibernate核心开发接口 - **Configuration/AnnotationConfiguration**: 负责读取和解析配置文件。 - **SessionFactory**: 创建`...

    Hibernate Reference Documentation

    - **内置连接池**:当没有使用外部 DataSource 时,Hibernate 内部会创建一个连接池。 **3.5 可选配置属性** - **SQL 方言**:选择适合数据库系统的 SQL 方言。 - **外连接抓取**:控制是否使用外连接抓取机制提高...

    hibernate 中文帮助文档 api

    - **Hibernate配置文件(hibernate.cfg.xml)**:定义数据库连接信息、缓存策略、方言等全局设置。 - **映射文件(.hbm.xml)**:为每个持久化类提供映射信息,描述如何将类与数据库表对应。 3. **对象关系映射**...

    Hibernate中文帮助文档

    1. **Hibernate配置文件(hibernate.cfg.xml)**:包含了数据库连接信息、缓存策略、方言等配置,是Hibernate工作的基础。 2. **实体类映射文件(.hbm.xml)**:用于定义实体类与数据库表的映射关系,包括字段映射、...

    hibernate学习笔记

    4. 联合主键:多个字段共同组成主键,通过`@Embeddable`和`@EmbeddedId`注解实现。 5. 动态模型:无预先定义的实体类,直接通过HQL或Criteria API操作数据库。 七、源码分析 深入理解Hibernate,需要查看其源码,...

    hibernate开发官方jar包

    8. **Inheritance Mapping**: Hibernate支持单表继承、联合继承和表 per class hierarchy 等继承策略,使得复杂的继承结构能在数据库中得到合理映射。 9. **Listeners and Interceptors**: Hibernate允许注册监听器...

    Hibernate框架

    3. 映射文件:XML格式的映射文件(如.hbm.xml),也可以代替注解实现类与表的映射。 三、主键管理 1. 单列主键:通常使用@Id注解标识主键字段。 2. 复合主键:当表有多个字段共同构成主键时,可以使用@EmbeddedId和...

    hibernate3.1参考手册中文版.pdf

    - **Hibernate配置文件(hibernate.cfg.xml)**:定义数据库连接、缓存策略、命名策略等全局设置。 - **映射文件(.hbm.xml)**:用于定义实体类和数据库表之间的映射关系,包括字段对应、主键生成策略等。 3. **...

Global site tag (gtag.js) - Google Analytics