SpringBoot集成Hibernate
小白初次接触Hibernate框架,有些不知所措,写点东西来记录
SpringBoot框架集成Hibernate
1.添加pom文件,在pom文件中添加必要的依赖,除了SpringBoot的依赖以外,还需要数据库依赖和jpa依赖
2.在配置文件中进行连接数据库配置和Hibernate配置
3.项目启动类
需要注解:
@EnableJpaRepositories(repositoryFactoryBeanClass = BaseRepositoryFactoryBean.class):扫描和发现指定包及其子包中的Repository定义
@EnableTransactionManagement:开启注解事务管理
4.编写一个对应数据库的实体类:
需要注解:
类上:
@Entity:标识为一个实体类。
@Table(name = "?"):将类和表进行关联,?为表名。
@SequenceGenerator(name = "?1", sequenceName = "?2",allocationSize = 1,initialValue = 1):name和sequenceName没有完全弄清楚,暂不做阐述,allocationSize表示自增数值,默认为50,需要手动改为1,initialValue表示主键初始值,默认为0,手动改为1。
字段或者方法上:
@Id:标识字段为主键,必须要有,否则会报错。
@GeneratedValue(strategy = GenerationType.?,generator = "?"):表示主键的生成策略,generator的值跟SequenceGenerator注解中的name值一致,strategy的值有四个:
–IDENTITY:采用数据库ID自增长的方式来自增主键字段,Oracle 不支持这种方式;
–AUTO: JPA自动选择合适的策略,是默认选项;
–SEQUENCE:通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式
–TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。
@Colume(name = "?"):将类字段和表字段建立于映射,?为表中字段名。
5.持久层:定义接口,继承SimpleHibernateDao或者其父级接口JpaRepository
需要注解:
@Repository:让Spring创建和管理实例