zoukankan      html  css  js  c++  java
  • Rhythmk 学习 Hibernate 08

    1、一对一 (One to One)
        共三种情况:
         1.1 主键共享
        1.2 外键共享

        1.3 中间表关联

    1.1  code:

    @Entity
    public class article {
    	@Id
    	@GeneratedValue
       public Integer getArticleId() {
    		return articleId;
    	}
    	.....
        @OneToOne(cascade=CascadeType.ALL)
    	@PrimaryKeyJoinColumn
    		public articleContent getContent() {
    		return content;
    	}
    	......
    }
    
    @Entity
    public class articleContent  {
        
    	@Id
    	@GeneratedValue
    	public Integer getcId() {
    		return cId;
    	}
    	....
    }
    

      执行保存 生成两张无外键的独立表

    1.2  code:

    @Entity
    public class article {
    	
    	@OneToOne(cascade=CascadeType.ALL)
    	@JoinColumn(name="cid_fk")
    		public articleContent getContent() {
    		return content;
    	}
    	
    }
    
    @Entity
    public class articleContent  {
        
    	@OneToOne(mappedBy="articleContent")
    	public article ArticleEntity;
    }
    

      执行保存,生成两张表,同时article生成一个cid_fk字段 关联 articleContent主键ID

    1.3  code:

    @Entity
    public class article {
    	@Id
    	@GeneratedValue
       public Integer getArticleId() {
    		return articleId;
    	}
    
    	@OneToOne(cascade=CascadeType.ALL)
    	@JoinTable(name="article_content",
    	      joinColumns=@JoinColumn(name="aid"),
    	      inverseJoinColumns=@JoinColumn(name="aid_fk"))
    		public articleContent getContent() {
    		return content;
    	}
        ......
    }
    

      生成三张表 分别为:article,article_content,articlecontent  其中 article_content 分别生成两个外键具体参考等价建表语句:

    CREATE TABLE `article_content` (
      `aid_fk` int(11) DEFAULT NULL,
      `aid` int(11) NOT NULL,
      PRIMARY KEY (`aid`),
      KEY `FK_7pgn2vn8r1lpswmh5v2ix667s` (`aid_fk`),
      CONSTRAINT `FK_ebfc4cs1sishg6u8kwpvgqqj9` FOREIGN KEY (`aid`) REFERENCES `article` (`articleId`),
      CONSTRAINT `FK_7pgn2vn8r1lpswmh5v2ix667s` FOREIGN KEY (`aid_fk`) REFERENCES `articlecontent` (`cId`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    

      

     

  • 相关阅读:
    VS2010安装SP1后无法安装VS2010 SDK
    c#异常机制
    精简2003,安装后控制面板无效,点击控制面板就闪一下,返回桌面
    转载 Microsoft .NET Pet Shop 4 架构与技术分析
    JavaScript实用的一些技巧
    asp.net开发常用技巧收集
    Ajax+PHP+jQuery图片截图上传
    如何利用WINPE制作恢复光盘/恢复分区
    C/C++跨平台计时,精确到毫秒级别
    SetLocalInfo修改系统时间,立即生效
  • 原文地址:https://www.cnblogs.com/rhythmK/p/3705259.html
Copyright © 2011-2022 走看看