文档章节

hibernate注解的学习记录和网络编程的了解

Its_Ryan
 Its_Ryan
发布于 2017/06/02 21:15
字数 1080
阅读 18
收藏 0

hibernate单一主键:
assigned,应用程序负责生成(手动赋值)
native,根据数据库类型底层自动选择,MySQL是自动选择自增长Oracle则为序列


组件属性component

单表操作 crud,save,update,delete,get/load get是直接发出SQL语句返回对象,load则是需要使用的时候才发出SQL语句返回的是代理对象

一对多关联映射:数据库中可以添加主外键表现一对多的关系

在hibernate框架是通过一方持有多方集合实现,即在一端使用《set》元素表示持有多的一端的对象

hibernate注解:类级别,属性级别,

类级别:@entity@table,@embeddable(嵌入的


属性级别:@Id,@Column(length=?)(复合主键一方为String类型来指定长度),
    @GeneratedValue(配合ID代表主键生成策略,默认值为auto,后面可带(strategy=GenerationType.AUTO);如果主键是字符串类型主键生成策略如何注解?@generatedValue(generator=“sid”)|GenericGenerator(name="sid",strategy="assigned")
    @Column属性映射到表字段,使用该注解来覆盖默认值,常用属性有name可选表示数据库表中的该字段名称默认与属性一致,nullable是否允许为null默认为TRUE,unique是否是唯一标识默认是FALSE,length表示字段大小仅对String类型字段有效(String默认值255,insertable表示orm框架执行插入操作时该字段是否应该出现在insert语句中默认为TRUE,updateable同上更新操作时该字段是否应该出现在update语句中默认是TRUE(对于一经创建就不可以更改的字段该属性非常有用)                          
    @embedded嵌入类的对象属性同时嵌入类必须注解@embeddable
    @EmbeddedId嵌入式主键类实现复合主键,需要注意的是嵌入式主键类必须实现序列化Serializable接口,必须有默认的public无参构造方法,必须覆盖equals和hashcode方法                
    @transient被该注解标识的属性不会被orm映射到表里的字段

关联映射注解:一对一单向外键关联,@OneToOne(cascade=CascadeType.ALL),@JoinColumn(name="pid",unique=true)注解在主键类里的被控类属性上或者get封装方法上,先保存外键对象再保存主表对象
    
双向外键关联:都含有对方的引用,OneToOne注解需双标且被控表需要把控制权交给主控表,mappedby属性?

多对一单向外键:多方持有一方的引用@manytoone(cascade={cascadeType.all},fetch=FetchType.EAGER抓取策略)@JoinColumn(name="cid",referencedColumnName="CID")

多对一双向外键关联:多方持有一方的对象而一方持有多方的集合对象

多对多单向外键:需创建中间表,多方持有另一个多方的集合对象@manytomany@jointable(name=“多方_多方”joinColumns={@joinColumn(name="sid"},inverseJoinColumns={@JoinColumn(name="tid")}

多对多双向外键:双方持有对方的集合对象,主控交给另外一方也就是在其中一方设置注解@manytomany(mappedby=“teachers”)这是教师持有学生集合的注解

 

 

网络通信,进程与进程之间的通信

IP地址对应计算机的网络接口也就是网卡

IP协议负责把数据从一台计算机通过网络发送到另一台计算机,数据被分成一个个数据包然后通过IP包发送出去。
由于互联网链路复杂,两台计算机之间通常有多条线路,因此路由器负责决定如何把IP包发送出去,IP包的特点是按块发送

TCP协议是建立在IP协议之上的,TCP协议负责在两台计算机之间建立可靠的连接,保证数据包按顺序到达,TCP协议会通过握手建立连接,然后,对每个IP包编号,确保对方按顺序收到,如果包丢掉了会自动重发

IP包除了包含需要传输的数据之外还包含IP地址和目标IP地址,源端口和目标端口

socket:网络编程的抽象概念,表示打开了一个网络连接,也就是包含了IP地址端口号以及协议类型

© 著作权归作者所有

共有 人打赏支持
Its_Ryan
粉丝 0
博文 23
码字总数 22267
作品 0
其他
Java Web学习计划

--- 本月为入门阶段,从零开始,一步一步的做出一个实用的网站。 深入学习Java语言,初步掌握前端技术,使用JSP和MySQL完成一个简单的网站 第1周 Java高级编程学习目标:
1.深入了解JDK环境...

SVD
2016/12/01
55
0
Hibernate框架学习之注解映射实体类

前面的相关文章中,我们已经介绍了使用XML配置文件映射实体类及其各种类型的属性的相关知识。然而不论是时代的潮流还是臃肿繁杂的配置代码告诉我们,注解配置才是更人性化的设计,于是学习了...

Single_YAM
2017/11/13
0
0
hibernate关联关系延时加载异常

最近在学习hibernate,记录一些初学者可能会碰到的问题及解决方案。 下面是我在注解配置了多对一关系(多个用户对应一个组织)后,查询用户列表时返回的报错页面。 原来注解 @ManyToOne() 中...

clark911
2015/08/11
0
0
Java 注解入门 自动生成SQL语句

引言 在用hibernate的时候发现idea能自动生成JavaBean,同时带有一些注解,这引起了我的好奇。当在学习Android的时候,我发现XUtils这个工具包中的DBUtils也能够使用类似hibernate的注解。于...

jiangmitiao
2015/06/22
0
0
Hibernate 学习教程

第1课 课程内容. 6 第2课Hibernate UML图. 6 第3课 风格. 7 第4课 资源. 7 第5课 环境准备. 7 第6课 第一个示例HibernateHelloWorld 7 第7课 建立Annotation版本的HellWorld 9 第8课 什么是O...

梅_95
2016/08/15
31
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS7防火墙firewalld操作

firewalld Linux上新用的防火墙软件,跟iptables差不多的工具。 firewall-cmd 是 firewalld 的字符界面管理工具,firewalld是CentOS7的一大特性,最大的好处有两个:支持动态更新,不用重启服...

dingdayu
今天
1
0
关于组件化的最初步

一个工程可能会有多个版本,有国际版、国内版、还有针对各种不同的渠道化的打包版本、这个属于我们日常经常见到的打包差异化版本需求。 而对于工程的开发,比如以前的公司,分成了有三大块业...

DannyCoder
今天
2
0
Spring的Resttemplate发送带header的post请求

private HttpHeaders getJsonHeader() { HttpHeaders headers = new HttpHeaders(); MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); ......

qiang123
昨天
3
0
Spring Cloud Gateway 之 Only one connection receive subscriber allowed

都说Spring Cloud Gateway好,我也来试试,可是配置了总是报下面这个错误: java.lang.IllegalStateException: Only one connection receive subscriber allowed. 困扰了我几天的问题,原来...

ThinkGem
昨天
27
0
学习设计模式——观察者模式

1. 认识观察者模式 1. 定义:定义对象之间一种一对多的依赖关系,当一个对象状态发生变化时,依赖该对象的其他对象都会得到通知并进行相应的变化。 2. 组织结构: Subject:目标对象类,会被...

江左煤郎
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部