POJO类以及映射配置文件
对持久化对象的要求 1、 提供一个无参构造器,使Hibernate可以使用Constructor.newInstace()来实例化持久化对象 2、提供一个标识属性(identifier property)。通常映射为数据库表的主键字段,如果没有该属性,一些功能将不起作用,如Session.saveOrUpdate()
对持久化对象的要求
1、 提供一个无参构造器,使Hibernate可以使用Constructor.newInstace()来实例化持久化对象
2、提供一个标识属性(identifier property)。通常映射为数据库表的主键字段,如果没有该属性,一些功能将不起作用,如Session.saveOrUpdate()。
3、 为持久化类的字段声明访问方法(set/get)。Hibernate对javaBean风格的属性实行持久化。
4、使用非final类,在运行时生成代理是Hibernate的一个重要功能,如果持久化类没有实现任何接口,Hibernate使用CGLB生成代理,如果使用final类,则无法生成CGLIB代理。
5、重写equals()和hashCode()方法,如果需要将持久化类放到Set中(当需要进行关联映射时),则应该重写这两个方法。
对于映射配置文件中非主键元素使用
可以写Java中类的全名,也可以写Hibernate类型。
映射主键属性
主键如果是数字建议使用对应的包装类型。
id元素用于映射主键,id元素子元素
其常用值如下:
identity:使用数据库的自动增长策略,不是所有数据库都支持,比如Oracle就不支持
sequence:在DB2,PostgreSQL,Oracle,SAPDB等中使用sequence。
hilo:使用高地位算法生成主键,只需要一张额外的表,所有的数据库都支持。
increment:由Hibernate维护的,先查询当前最大的id值,在加1增长,不推荐使用,因为有线程安全问题。
assigned:手工指定主键。
推荐阅读
-
POJO类以及映射配置文件
-
HibernateTools实现pojo类 数据库schma mapping映射的相互转换
-
springboot中 配置文件 application.properties 中 设置连接mysql数据 数据源信息以及设置时区、编码 扫描mybatis映射、配置文件路径、开启驼峰命名
-
【Mybatis_POJO包装类型】关于一个实体类装多个实体类如何映射
-
Java程序员从笨鸟到菜鸟(五十二) 配置文件实现将返回 POJO 类直接转换成 json 对象
-
SpringBoot中使用yml配置文件以及配置类实现文件上传下载路径的修改
-
mybatis框架中的 mybatis-config-xml 核心配置文件 以及mapper.xml映射配置文件
-
KMeans、LVQ、GaussianMixture几种聚类方法的Python实现以及标签映射(Kuhn-Munkres匈牙利算法)问题的解决(详细并附完整代码)
-
HibernateTools实现pojo类 数据库schma mapping映射的相互转换