zoukankan      html  css  js  c++  java
  • Hibernate 组合主键映射

      在开发过程中创建数据库表时,有时候会发现单纯的创建一个主键是不可行的,有时候就需要多个字段联合保持唯一,本文讲述如何创建组合主键的映射。

      例如:记录一个班的考试成绩。学生跟科目是多对多的关系,只有一个学生和一门课程保持唯一时才能确保这个关系成立。

    1.创建实体。

    2.创建联合组件的实体(这个实体需要实现序列化接口,需要重写equals方法)

     

    3.写映射文件。

      name表示实体中哪个字段表示组合主键,class表示那个类是组合主键。

      <composite-id name="scoreId" class="ScoreId"></composite-id>

      在上面标签中加入组合主键的属性。

       <key-property name="stuId"></key-property>
       <key-property name="subjectId"></key-property>

    4.SchemaExport

      这个工具可以直接使用实体和映射关系生成数据库表。
      Configuration cfg = new Configuration().configure();
            SchemaExport se = new SchemaExport(cfg);
            //第一个参数是否生成ddl脚本,第二个参数是否执行到数据库
            se.create(true, true);
            数据库删除原来的表,创建新的表。

      以下为hibernate打印的sql语句。

    注:本文是在学习期间根据网上视频写的学习笔记,如有侵权请联系删除!

  • 相关阅读:
    Block & 代理
    堆&栈, 内存分配
    ASI 的 使用
    iOS开发-清理缓存功能的实现
    iOS8是如何跳转系统设置页面
    键盘弹出获取高度
    http://www.jianshu.com/collection/9a22b04a9357
    IOS 字符串中去除特殊符号 stringByTrimmingCharactersInSet
    iOS 判断输入是否全是空格
    iOS AFN 请求封装方法
  • 原文地址:https://www.cnblogs.com/wuyx/p/7921809.html
Copyright © 2011-2022 走看看