`
78425665
  • 浏览: 125646 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

hibernate3.2 使用注解(annocation) 对映射关系的基本写法

 
阅读更多
hibernate3.2映射关系(只是基本的关联关系,详细配置需再自行扩展配置,手写的,没实践,如果有问题,请多谢提出!)

以Group - User 为例说明

1.一对多单向关联
Group{
  @OneToMany
  @JoinColum(name="group_id")// user中生成的数据库字段名
  public Set<User> getUser(){
  }
}

2.多对一单向关联
User{
  @ManyToOne
  public Group getGroup(){
  }
}

3.一对多和多对一双向关联
Group{
  @OneToMany(mappedBy="group")// user类中的group属性
  public Set<User> getUser(){
  }
}
User{
  private Group group;
  @ManyToOne
  public Group getGroup(){
  }
}

4.多对多单向关联
Group{
  @ManyToMany
  @JoinTable(name="g_u",
  joinColumns={@JoinColum(name="group_id")},
  inverseJoinColumns={@JoinColumn(name="user_id")})
  public Set<User> getUser(){
  }
}
或者
User{
  @ManyToMany
  @JoinTable(name="g_u",
  joinColumns={@JoinColum(name="user_id")},
  inverseJoinColumns={@JoinColumn(name="group_id")})
  public Set<Group> getGroup(){
  }
}

5.多对多双向关联
Group{
  private Set<User> users;

  @ManyToMany
  @JoinTable(name="g_u",
  joinColumns={@JoinColum(name="group_id")},
  inverseJoinColumns={@JoinColumn(name="user_id")})
  public Set<User> getUser(){
  }
}
User{
  @ManyToMany(mappedBy(name="users"))
  public Set<Group> getGroup(){
  }
}
分享到:
评论

相关推荐

    实体类对应关系处理hibernate

    自己根据课本总结的使用hibernate时,实体类间映射文件即*.hbm.xml文件的写法。如果你正在学习hibernate,保证会对你有所帮助。

    Java相关课程系列笔记之十四Hibernate学习笔记

    Hibernate是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序对数据库的操作。本笔记将详细阐述Hibernate的核心概念、使用方法和特性。 一、Hibernate的概述 1.1 Hibernate框架的作用 Hibernate...

    2023年Java相关课程系列笔记之十四Hibernate学习笔记.doc

    3.2 type映射类型的两种写法 可以通过XML映射文件或Java注解来定义类型映射,如基本类型、日期、集合等。 **四、Hibernate主键生成方式** 4.1 五种生成方式 - identity:由数据库自动生成,如MySQL的AUTO_...

    Java相关课程系列笔记之十四Hibernate学习笔记.doc

    - 注解映射:在实体类的Java代码中使用注解进行映射。 **四、Hibernate主键生成方式** 4.1 五种生成方式 - assigned:由应用手动指定。 - identity:数据库自增,如MySQL的 AUTO_INCREMENT。 - sequence:使用...

    hibernate+maven demo项目工程

    这个【hibernate+maven demo项目工程】是一个很好的学习资源,它涵盖了Maven的基本使用、Hibernate的配置与操作,以及如何组织Java项目结构。通过深入研究此项目,开发者可以更好地掌握这两项技术,并将其应用于实际...

    HibernateDAO的写法

    Hibernate是一个对象关系映射(ORM)框架,它将Java对象与数据库表进行映射,实现了对象与SQL的解耦。通过Hibernate,开发者可以用面向对象的方式来处理数据库操作,提高了代码的可读性和可维护性。 **二、DAO设计...

    spring注入文件写法

    综上所述,Spring注入文件的写法涉及了数据源、Hibernate集成、事务管理和DAO的声明及配置。通过这种方式,Spring能够提供一个灵活且强大的基础设施,支持数据库操作和事务管理,同时保持代码的整洁和模块化。

    hibernate映射配置文件不支持union联合查询[参照].pdf

    在软件开发领域,尤其是涉及到关系型数据库管理和ORM(对象关系映射)框架如Hibernate时,开发者经常遇到各种查询问题。本案例中,开发者遇到了一个与Hibernate映射配置文件相关的异常,该异常涉及到不支持的“union...

    Hibbernate应用练习

    Hibernate 使用 XML 映射文件(如:User.hbm.xml)或者注解来定义实体类与数据库表之间的映射关系。映射文件包含了列名、类型、主键生成策略等信息。 **四、实体关系映射** 1. **一对一(OneToOne)**: 一个实体...

    mysql+struts+hibernete

    Hibernate作为ORM框架,消除了Java应用与数据库之间的直接耦合,通过XML配置或注解方式将Java对象映射到数据库表,使得开发者可以使用面向对象的方式来操作数据库,降低了数据库操作的复杂性。Hibernate支持事务管理...

    J2EE框架考试试题借鉴.pdf

    - Hibernate是Java中流行的ORM框架之一,支持JPA规范,它使用XML或注解配置映射关系。 - Hibernate提供了多种连接池的配置方式,如通过配置sessionFactory来管理数据库连接。 Spring框架: - Spring框架是一个全面...

    MyBatis的27道面试题

    首先,MyBatis是一个半自动化的ORM框架,它内部封装了JDBC操作,开发者只需关注SQL语句本身,MyBatis通过xml文件或注解来配置和映射原生信息,支持将POJO映射成数据库中的记录。MyBatis的编写原生态SQL特性赋予了...

    Spring JPA学习

    - 使用`@OneToOne`注解定义一对一关系。 **2.8.2 一对多** **2.8.2.1 添加字段的一对多、多对一关联** - 使用`@OneToMany`和`@ManyToOne`注解定义关联关系。 **2.8.2.2 添加表的一对多、多对一关联** - 通过`@...

    1000道互联网Java架构师面试题

    * MyBatis 使用 XML 配置文件,而 Hibernate 使用 Java 注解。 * MyBatis 需要手动编写 SQL 语句,而 Hibernate 可以自动生成 SQL 语句。 * MyBatis 适用于小型到中型项目,而 Hibernate 适用于大型项目。 #{ }和${...

    Spring RESTful简单实例

    2. 定义RESTful接口,使用@RestController注解控制器,使用@RequestMapping及其子注解定义URL映射。 3. 编写业务服务类和服务接口,实现数据的增删改查操作。 4. 配置数据源和数据库操作相关的依赖,如JPA或MyBatis...

    JavaEE就业班(夜光)③:SpringData开发.docx

    此外,还可以通过 `@Column` 注解指定实体类属性与数据库表中列的映射关系。 #### 五、Spring Data JPA的使用方式 - **接口定义**:在 Spring Data JPA 中,不需要编写具体的实现类,只需要定义接口即可。Spring ...

    MiniDao-pe使用指南

    - **零配置的 O/R Mapping**:MiniDao-PE 无需复杂的 XML 配置文件即可完成对象关系映射,极大地简化了开发过程中的配置工作。 - **无需 JDBC 知识**:开发者可以专注于业务逻辑的编写,而不必深入了解底层 JDBC 的...

    2021最新Java程序员面试题

    在当前的IT行业中,Java程序员面试已经逐步升级为考察应聘者对多个技术栈的综合理解和应用能力。以下内容根据提供的文件信息整理出的Java程序员面试知识点: 1. MyBatis框架 - MyBatis定义:MyBatis是一个支持定制...

    1000道 互联网大厂Java工程师面试题(1)(1)(1).pdf

    4. **与 Hibernate 的区别**:Hibernate 是全自动 ORM 映射工具,提供了更强的对象关系映射能力,但 MyBatis 在 SQL 调优方面提供了更高的灵活性。 5. **#{} 和 ${} 的区别**:#{} 表示占位符,预编译参数可以防止 ...

Global site tag (gtag.js) - Google Analytics