- 浏览: 81735 次
- 性别:
- 来自: 广州
文章分类
最新评论
========================== (不加referencedColumnName的时候) ==================
@JoinColumn(name="dividend_id")的情况
@Entity @Table(name="wxsc_order") public class Order extends EntitySupport { private static final long serialVersionUID = 1L; @Column(name="order_id") private String orderId;//订单号 @OneToOne(cascade=CascadeType.ALL,fetch=FetchType.EAGER)//让Dividend去维护外键关系 @JoinColumn(name="dividend_id") private Dividend dividend;//赠品
@Entity() @Table(name="wxsc_dividend") public class Dividend extends EntitySupport { private static final long serialVersionUID = 1L; @Column(name="dividend_id") private String dividendId;//赠品ID @Column(name="dividend_name") private String dividendName;//赠品名称 @Column(name="dividend_number") private String dividendNumber;//赠品编号 private String attribute;//赠品属性 private int quantity;//数量 @OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy="dividend")//让这个外键生成到order表当中。 @JoinColumn(name="order_id") private Order order;
其映射的关系如下:
mysql> show create table wxsc_dividend; +---------------+--------------------------------------------------------------------------------------------------------------- | Table | Create Table +---------------+--------------------------------------------------------------------------------------------------------------- | wxsc_dividend | CREATE TABLE `wxsc_dividend` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `createTime` datetime NOT NULL, `updateTime` datetime NOT NULL, `version` int(11) NOT NULL, `attribute` varchar(255) DEFAULT NULL, `dividend_id` varchar(255) DEFAULT NULL, `dividend_name` varchar(255) DEFAULT NULL, `dividend_number` varchar(255) DEFAULT NULL, `quantity` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 mysql> show create table wxsc_dividend; +---------------+--------------------------------------------------------------------------------------------------------------- | Table | Create Table +---------------+--------------------------------------------------------------------------------------------------------------- | wxsc_dividend | CREATE TABLE `wxsc_dividend` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `createTime` datetime NOT NULL, `updateTime` datetime NOT NULL, `version` int(11) NOT NULL, `attribute` varchar(255) DEFAULT NULL, `dividend_id` varchar(255) DEFAULT NULL, `dividend_name` varchar(255) DEFAULT NULL, `dividend_number` varchar(255) DEFAULT NULL, `quantity` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
加了referencedColumnName之后
@JoinColumn(name="dividend_id",referencedColumnName="dividendId")
的情况
@Entity @Table(name="wxsc_order") public class Order extends EntitySupport { private static final long serialVersionUID = 1L; @Column(name="order_id") private String orderId;//订单号 @OneToOne(cascade=CascadeType.ALL,fetch=FetchType.EAGER)//让Dividend去维护外键关系 @JoinColumn(name="dividend_id",referencedColumnName="dividend_id") private Dividend dividend;//赠品
@Entity() @Table(name="wxsc_dividend") public class Dividend extends EntitySupport { private static final long serialVersionUID = 1L; @Column(name="dividend_id") private String dividendId;//赠品ID @Column(name="dividend_name") private String dividendName;//赠品名称 @Column(name="dividend_number") private String dividendNumber;//赠品编号 private String attribute;//赠品属性 private int quantity;//数量 @OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy="dividend")//让这个外键生成到order表当中。 @JoinColumn(name="order_id",referencedColumnName="order_id") private Order order;
注意:如果赠品是写成(不加@JoinColumn的情况): private String dividendId;//赠品ID 这个时候映射的时候就应该写成: @JoinColumn(name="dividend_id",referencedColumnName="dividendId") private Dividend dividend;//赠品 如果赠品是写成: @Column(name="dividend_id") private String dividendId;//赠品ID 这个时候映射的时候就应该写成: @JoinColumn(name="dividend_id",referencedColumnName="dividend_id") private Dividend dividend;//赠品 这两个第一个是给每取名字的取名字,取了名字的就叫名字。 第二个referencedColumnName就是指定这个关系是要映射到对方那个表的哪个字段上去的。
两边都加了 referencedColumnName 的时候结果如下:
mysql> show create table wxsc_dividend; CREATE TABLE `wxsc_dividend` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `createTime` datetime NOT NULL, `updateTime` datetime NOT NULL, `version` int(11) NOT NULL, `attribute` varchar(255) DEFAULT NULL, `dividend_id` varchar(255) DEFAULT NULL, `dividend_name` varchar(255) DEFAULT NULL, `dividend_number` varchar(255) DEFAULT NULL, `quantity` int(11) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `dividend_id` (`dividend_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.01 sec) mysql> show create table wxsc_order; CREATE TABLE `wxsc_order` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `createTime` datetime NOT NULL, `updateTime` datetime NOT NULL, `version` int(11) NOT NULL, `consumer_remarks` longtext, `delivery_time` datetime DEFAULT NULL, `express_number` varchar(255) DEFAULT NULL, `freight_amount` float DEFAULT NULL, `invoice` varchar(255) DEFAULT NULL, `invoice_content` longtext, `invoice_head` longtext, `invoice_type` int(11) DEFAULT NULL, `order_id` varchar(255) DEFAULT NULL, `order_state` int(11) DEFAULT NULL, `order_time` datetime DEFAULT NULL, `payment_confirm_time` datetime DEFAULT NULL, `payment_time` datetime DEFAULT NULL, `seller_remarks` longtext, `total_sum` float DEFAULT NULL, `dividend_id` varchar(255) DEFAULT NULL, `subscriber_id` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `order_id` (`order_id`), KEY `FKD5D59A802C2E77E7` (`subscriber_id`), KEY `FKD5D59A804768DDC7` (`dividend_id`), CONSTRAINT `FKD5D59A804768DDC7` FOREIGN KEY (`dividend_id`) REFERENCES `wxsc_dividend` (`dividend_id`), CONSTRAINT `FKD5D59A802C2E77E7` FOREIGN KEY (`subscriber_id`) REFERENCES `wxsc_subscriber` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec)发表评论
-
记录一下我的p2p的UDP打洞过程【云服务器公网版本】
2014-07-19 21:14 2099服务端连接了成功处理了两个客户端的登录并且成功打洞后的log记 ... -
记录一下我的p2p的UDP打洞过程【localhost局域网版本】
2014-07-19 21:08 2002MainServer在两个客户端都启动成功之后并且打洞成功之后 ... -
有hadoop_zookeeper的pom.xml
2014-06-03 23:39 830FROM:http://blog.csdn.net/zph2 ... -
省市县三级联动数据库
2014-06-03 09:42 3162/* *@名称: myaddress.js ... -
Java中的注解机制--比较详细
2014-05-31 17:33 554http://blog.csdn.net/a243932069 ... -
记录一下这次mvn 淘宝的开源MVC框架 Webx的过程
2014-05-24 21:44 811[INFO] ------------------ ... -
恶心的Enum类型
2014-05-24 09:59 662public enum InvoiceType { ... -
分页标签<w:pager>
2014-05-09 17:05 9731.WEB-INF/tlds/pager.tld < ... -
自定义标签taglib
2014-05-09 17:00 709JSP 最佳实践: taglib简介 ... -
MyEclipse has detected that less than 5% of the 31MB of Eden Space (Heap memory)
2014-04-27 12:48 1036解决办法: D:\>cd D:\Users\Admin ... -
接着报错,连接问题Cannot open a connection
2014-03-28 18:39 1360HTTP Status 500 - ------- ... -
让spring启动时应用不需要加载数据库【default-lazy-init="true"】
2014-03-28 14:33 5320spring启动时应用不需要加载数据库,需要时在加载,如何实现 ... -
异常的Tomcat输出信息-修正log4j配置文件之后仍然异常
2014-03-28 11:51 10362014-3-28 11:46:50 org.apache ... -
异常的Tomcat输出信息
2014-03-28 11:27 658正常情况下是没有换行的。现在异常的情况是有换行的。 20 ... -
正常的Tomcat输出信息
2014-03-28 11:26 9562014-3-28 11:23:07 org.apache ... -
烦人的后台首页index.jsp弄好了
2014-03-25 14:39 45661.<title>微信公众平台后台管理< ... -
MAVEN官网地址
2014-03-25 10:12 675http://mvnrepository.com/artifa ... -
正则表达式
2014-03-25 10:11 514[正则表达式]文本框输入内容控制 整数或者小数:^[0-9]+ ... -
Window 通过cmd查看端口占用、相应进程、杀死进程等的命令
2014-03-24 16:03 1026Window 通过cmd查看端口占用、相应进程、杀死进程等的命 ... -
java synchronized详解
2014-03-16 11:30 432Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候 ...
相关推荐
基于HIBERNATE 操作表的关系练习例子
onetomany-hibernate在myeclipse下的使用开发hibernate程序
NULL 博文链接:https://fqh1987.iteye.com/blog/791845
通过关联表来保存两个实体之间的连接关系(要模拟一对一关联必须在每一个外键上添加唯一约束)。 1.共享主键的一对一关联映射: @Entity @Table(name="Test_Body") public class Body { private Integer id; ...
一对多Nosql演示与OneToMany关系中的MongoDB的Spring Data演示项目 该项目是我发表的文章的来源。 请以下文章的链接:
JPA_OneToMany学习教程JPA_OneToMany学习教程JPA_OneToMany学习教程JPA_OneToMany学习教程
一对多 @OneToMany 注解可定义一对多关联。一对多关联可以是双向的。 双向 规范中多对一端几乎总是双向关联中的主体(owner)端,而一对多的关联注解为 @OneToMany(mappedBy=)
o @OneToMany o @OneToOne o @OrderBy • P o @PersistenceContext o @PersistenceContexts o @PersistenceProperty o @PersistenceUnit o @PersistenceUnits o @PrimaryKeyJoinColumn o @PrimaryKeyJoinColumns • ...
可以轻松地映射到数据库或创建数据库,从使用Java的任何平台执行查询和更新。 例子 从抽象类定义实体: @Entity abstract class AbstractPerson { @Key @Generated int id; @Index ( " name_index " ) // table...
上述代码在 "month" 和 "day" 两个 field 上加上 unique constrainst. @Version 注解用于支持乐观锁版本控制。 @Entity public class Flight implements Serializable { ... @Version @Column(name="OPTLOCK") ...
Hibernate课程 在这个资料库中,我尝试学习Hibernate 话题 简单的结局 预先映射 @OneToOne @OneToMany @多多 提取类型 懒惰的 渴望的
数据库培训,教师的课堂操作记录,附带联系及答案。 10个课时,快速掌握sql 当时老师讲的比较不错,很通俗。...附:最后讲了下对象关系映射,一个对象映射数据库中的数据: ManyToMany OneToMany OnToOne
* columnDefinition 可选,为这个特定列覆盖sql ddl片段(这可能导致无法在不同数据库间移植) * table 可选,定义对应的表(默认为主表) * length 可选,列长度(默认值255) * precision 可选,列十进制精度...
SDA项目控制台版本 描述 程序的概念和想法解决了在线买卖商品的问题,而没有冒着买卖双方的包裹损失...一个用户可以拥有许多产品(@OneToMany认证); 由user_id映射; 登录是一个单独的表,用于添加新用户的凭据。
只需为您的实体(模型)和种子脚本创建一个实体工厂。实体首先创建您的TypeORM实体。 // user.entity.ts@ Entity ( )export class User { @ PrimaryGeneratedColumn ( 'uuid' ) id : string @ Column ( { nullable ...
@OneToMany(mappedBy 相当于 inverse ) @ManyToOne 结合 @JoinColumn 添加一列外键 @ManyToMany 一方写 mappedBy 放弃外键维护、另一方 @JoinTable 维护中间表 收派标准修添加能实现 html 请求 后台...
hibernate对象三状态及OneToOne&OneToMany&ManyToMany讲解,代码示例,数据库示例!非常全面
*安装在GitHub上克隆项目: git clone git@github.com:suilan/ecommerce.git要运行数据库: docker-compose up在后端文件夹中: mvn compile && mvn package在前端文件夹中: npm install跑要运行后端: java -jar ...
双向 @OneToMany(mappeBy="") 关系交给对方维护 3多对多 @ManyToMany-->代表多对多 @ManyToMany(mappeBy="")mappeBy-->通过此属性把关系交给对方维 注意:一般出现多对多的情况时,我们会把多对多分解成2个一对...
EJB基本知识介绍。如OneToOne,OneToMany等经典实例推荐