美文网首页
Hibernate生成数据库组合键

Hibernate生成数据库组合键

作者: 浮桥小麦 | 来源:发表于2017-07-25 14:36 被阅读58次
    Mark - 01 : 创建组合键的类
    //必须实现Serializable这个接口
    public class ScoreId implements Serializable {
    
        private int stuId;//学生编号
    
        public int getStuId() {
            return stuId;
        }
    
        public void setStuId(int stuId) {
            this.stuId = stuId;
        }
    
        public int getSubjectId() {
            return subjectId;
        }
    
        public void setSubjectId(int subjectId) {
            this.subjectId = subjectId;
        }
    
        private int subjectId;//科目编号
    }
    
    
    
    Mark - 02 : 创建要映射的类
    public class ScoreResult {
    
        private ScoreId scoreId;//这也是一个类,将这个类作为主键
        private Double result;//结果
    
        public ScoreId getScoreId() {
            return scoreId;
        }
    
        public void setScoreId(ScoreId scoreId) {
            this.scoreId = scoreId;
        }
    
        public Double getResult() {
            return result;
        }
    
        public void setResult(Double result) {
            this.result = result;
        }
    }
    
    
    Mark - 03 : 编写hbm文件和配置hibernate.cfg.xml文件
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
            "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
        <!-- 普通配置这个要变成表的实体类 -->
        <class name="com.hibernate.zujianhua.ScoreResult" table="ScoreResult">
    
            <!-- 这个是配置组合主键,name是键名,class是类地址 -->
            <composite-id name="scoreId" class="com.hibernate.zujianhua.ScoreId">
                <!-- 这个是这个组合键类中所有的属性 -->
                <key-property name="stuId"></key-property>
                <key-property name="subjectId"></key-property>
            </composite-id>
            <!-- 实体类的属性 -->
            <property name="result"/>
        </class>
    </hibernate-mapping>
    
    #cfg:
    <mapping resource="com/hibernate/zujianhua/ScoreResult.hbm.xml”/>
    
    
    Mark - 04 : 生成数据库
      public static void main(String[] args){
            Configuration config = new Configuration().configure();
            StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
                    .configure().build();
            Metadata metadata = new MetadataSources(serviceRegistry)
                    .buildMetadata();
            SchemaExport schemaExport = new SchemaExport();
       schemaExport.create(EnumSet.of(TargetType.DATABASE), metadata);
    }
    

    相关文章

      网友评论

          本文标题:Hibernate生成数据库组合键

          本文链接:https://www.haomeiwen.com/subject/edbwkxtx.html