实体类的概念与总结

来源:互联网 发布:录制长视频软件 编辑:程序博客网 时间:2024/06/05 09:37
  实体类是在Java软件开发中广泛使用的概念。 但是网上少有讲清楚到底是什么的。下面是个人对实体类的理解,有不足之处,请多多指教。
  实体: 就是能看的到的具体东西,如人; 
  属性:就是实体的一个特征或部分,如人的属性有性别,年龄等;
  实体集:就是一类相似属性的实体的集合,如男人,或老人等 对应的计算机中,是对于面向对象技术来说的;

   我从直观、作用、定义三方面来讲。

  首先,直观的看:实体类就是一个拥有Set和Get方法的类。实体类通常总是和数据库之类的(所谓持久层数据)联系在一起。这种联系是借由框架(如hibernate)来建立的。

  其次说定义:实体类主要是作为数据管理和业务逻辑处理层面上存在的类别; 它们主要在分析阶段区分 实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关。

实体类的作用:
      实体类就是一个载体。

      现在的设计差不多都是一张表就等于业务里面的一个类。一条记录(一般一行数据)是一个对象,一行中的一列就是这个对象的一个属性。

      所以我们在操作某个表时(比如更改这个表的信息),我们就可以在前台定义一个这样的对象,然后将其对应的属性赋值,然后传到后台。

      这样后台就可以拿到这个对象的所有值了,不用一个一个属性当参数传过来,只要传一个这个类的对象就好了,也就是说只要一个参数就好了。好处不言而喻。

      而这种前台对象到后台数据库的联系,我们是借由框架、配置文件来配置实现的,很方便快捷。并不需要自己手动编程实现。

    总而言之,(大多数情况下)实体类就是数据库在Java代码中对应的。

使用实体类需注意以下几点:

一、实体类的名字尽量和数据库的表的名字对应相同。(PS;最好通过驼峰命名及注释,让自己和team知道这个实体类是哪个表,为后者谋福)
二、实体类应该实现java.io.Serializable接口(PS:启用其序列化功能)。
三、实体类应该有个无参的构造方法。
四、实体类应该有个有参(所有的参数)的构造方法。
五、实体类有属性和方法,属性对应数据库中表的字段,方法主要有getter和setter方法。
六、实体类还应该有个属性serialVersionUID(PS:serialVersionUID的版本号与每个可序列化类是相关联的,之前有篇博客讲过serialVersionUID的作用,有想了解的也可以看下)。
      例如: private static final long serialVersionUID = 7031467309241827392L;(PS:该字段必须是静态 (static)、最终 (final) 的 long 型字段)
七、属性一般是private类型,方法为public类型,对于数据库自动生成的ID字段对应的属性的set方法为private。