Hibernate中创建实体

  创建实体五个基本规则

    --提供无参的构造器

    --成员变量的私有化,提供get、set方法,提供属性

    --尽量使用包装类型

    --主键(一定要有)

    --不要加final(hibernate中使用代理机制)

  无参构造器

一、概念
java中构造方法指的是:
与类名相同,无返回类型的方法,参数可以为空,也可以带参数。
比如一个 Dao 类,private Dao(){}这个就是无参数的构造方法。
private Dao(String name){}这个就是带参数的构造方法。
作用:用来初始化 java 类,提供类的初始化和实例化,以便调用。
二、作用
new一个对象的时候要用到构造函数,例如Hello hello = new Hello();这时调用的是Hello的无参数构造方法;Hello hello = new Hello("hi");这个是调用Hello有参数构造方法,在JAVA中如果不写构造方法的话,会默认加上一个无参数的构造方法,但是如果已经有了一个有参数的构造方法,那么无参数的构造方法就不会默认被加上.如果Hello类中已经有了一个有参数的构造方法,这时再使用Hello hello = new Hello();来创建对象的时候就会出错,这就是为什么书上要强调写了有参数的构造方法就最好加一个无参数的构造方法。

三、区别
有参数的构造方法的主要目的是为类中的属性初始化的,而无参数的构造方法,可以控制new对象。
假设你的午餐构造方法不是public 修饰 而是project ,
那么别人将不只能直接new一个对象,这就起到了控制作用。
为什么要自动生成无参构造呢?
你没有构造方法就不能new出对象 所以就给你生成一个无参构造方法
一般构造方法就是来控制你new对象的 还有就是初始化属性

  变量和属性区别

  类是创建对象的模板,所以它可以构造出多个大致相同的对象。而类中定义的例如String name; int age等等之类的,站在类的立场来说是可以重复赋值的,所以可以看作是变量。而对于对象来说,就是对象的属性。

  

  包装类型  廖雪峰:包装类型传送门

  基本类型不可以赋值为null,包装类型可以赋值为null

  我们已经知道,Java的数据类型分两种:

  • 基本类型:byteshortintlongbooleanfloatdoublechar

  • 引用类型:所有classinterface类型

  引用类型可以赋值为null,表示空,但基本类型不能赋值为null,如果想要把int基本类型变成一个引用类型,我们可以定义一个Integer类,它只包含一个实例字段int,这样,Integer类就可以视为int的包装类(Wrapper Class)

  不要加final

  • final类不能被继承,没有子类,final类中的方法默认是final的。

  • final方法不能被子类的方法覆盖,但可以被继承。

  • final成员变量表示常量,只能被赋值一次,赋值后值不再改变。

  • final不能用于修饰构造方法。

  hibernate框架的代理模式是用继承的方式实现的,这里User 类被final 修饰无法继承,那么就无法生成User的代理对象

JavaWeb_(Hibernate框架)Hibernate中创建实体的更多相关文章

  1. JavaWeb_(Struts2框架)Action中struts-default下result的各种转发类型

    此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...

  2. JavaWeb_(Hibernate框架)Hibernate中事务

    Hibernate中事务 事务的性质 事物的隔离级别 配置事务的隔离级别 事务的性质 原子性:原子,不可再分,一个操作不能分为更小的操作,要么全都执行,要么全不执行. 一致性:事务在完成时,必须使得所 ...

  3. JavaWeb_(Hibernate框架)Hibernate中对象的三种状态

    对象的三种状态 瞬时状态: 实体 没有id.没有与session关联 持久化状态: 特点:持久化状态对象的任何改变都会同步到数据库中 游离态[也称作托管态]: 实体 有id,没有与session关联 ...

  4. JavaWeb_(Hibernate框架)Hibernate中重要的api

    Hibernate中重要的api Configuration SessionFactory Session(重点) Transaction 在Dao层中UserDao.java使用Hibernate向 ...

  5. JavaWeb_(Hibernate框架)Hibernate与c3p0与Dbutils的区别

    JavaWeb_(Hibernate框架)使用Hibernate开发用户注册功能 传送门 JavaWeb_(Hibernate框架)使用c3p0与Dbutils开发用户注册功能 传送门 Hiberna ...

  6. JavaWeb_(Hibernate框架)Hibernate配置文件hibernate.cfg.xml

    hibernate.cfg.xml配置文件——链接数据库 hibernate.cfg.xml一定要配置在/src文件目录下 --数据库驱动,url,用户名,密码 --方言org.hibernate.d ...

  7. JavaWeb_(Hibernate框架)Hibernate论坛项目中多对多案例

    基于SSH论坛小型项目 传送门 用户和发帖进行举例 多对多关系:多个用户可以回复多个帖子 因此引入了一张回复表,用来保存用户id和帖子id CREATE TABLE `hforum`.`answer` ...

  8. JavaWeb_(Hibernate框架)Hibernate中数据查询语句HQL基本用法

    HQL(Hibernate Query Language) 是面向对象的查询语言, 它和 SQL 查询语言有些相似. 在 Hibernate 提供的各种检索方式中, HQL 是使用最广的一种检索方式. ...

  9. JavaWeb_(Hibernate框架)Hibernate论坛项目中一对多案例

    基于SSH论坛小型项目 传送门 用户和发帖进行举例 一对多关系:一个用户可以发表多个帖子 一对一关系:一个帖子属于一个用户发布 创建数据库用户user表 CREATE TABLE `hforum`.` ...

随机推荐

  1. A Pythonic Card Deck: __len__ & __getitem__ & for 循环的嵌套

    1. 列表生成式的嵌套 for 循环: 示例如下: li1 = range(1,6) li2 = list("ABC") # list("ABC") 的结果为 ...

  2. MFC 下调试 出现 warning : fail to load indicator string 0x0069

    MFC 下调试 出现 warning : fail to load indicator string 0x0069 就是程序状态栏每一个标识列中至少有一个值没有初始值 或初始值为空 导致程序没有获取到 ...

  3. 5 java 笔记

    1  建议不要在循环体内修改循环变量的值 2 java语言没有提供goto语句来控制程序的跳转 2 java语言同样也提供了continue和break关键字来控制程序的循环结构 3 java中的标签 ...

  4. js 操作对象的小技巧

    来源:https://www.w3cplus.com/javascript/javascript-tips.html 1.使用...运算符合并对象或数组中的对象 同样使用ES的...运算符可以替代人工 ...

  5. Hadoop2.7.3集群安装scala-2.12.8 和spark2.7

    Apache Spark™是用于大规模数据处理的统一分析引擎. 从右侧最后一条新闻看,Spark也用于AI人工智能 spark是一个实现快速通用的集群计算平台.它是由加州大学伯克利分校AMP实验室 开 ...

  6. 菜鸟宝典之Windows Server 2012 R2上PHP、MySQL环境搭建

    原文来自:https://www.jb51.net/article/59280.htm 上车准备一.准备工具服务器操作系统:Windows Server 2012PHP版本:5.6.9(根据自己需要) ...

  7. Hadoop_05_运行 Hadoop 自带 MapReduce程序

    1. MapReduce使用 MapReduce是Hadoop中的分布式运算编程框架,只要按照其编程规范,只需要编写少量的业务逻辑代码即可实现 一个强大的海量数据并发处理程序 2. 运行Hadoop自 ...

  8. 8.5.zookeeper应用案例_分布式应用HA

    1.实现分布式应用(主节点HA)及客户端动态更新主节点状态 需求:某分布式系统中,主节点可以有多台,服务器可以动态(变化)上下线,任意一台客户端都能实时感知到主节点服务器的上下线 思路:架设Zooke ...

  9. “美登杯”上海市高校大学生程序设计赛B. 小花梨的三角形(模拟,实现)

    题目链接:https://acm.ecnu.edu.cn/contest/173/problem/B/#report9 Problem B B . 小 花梨 的 三角形 时间限制:1000ms 空间限 ...

  10. elk快速入门-Logstash

    Logstash1.功能:数据输入,数据筛选,数据输出2.特性:数据来源中立性,支持众多数据源:如文件log file,指标,网站服务日志,关系型数据库,redis,mq等产生的数据3.beats:分 ...