Hibernate常见数据库配置
mysql数据库配置
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL57Dialect
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf8
spring.datasource.username = username
spring.datasource.password = password
spring.jpa.hibernate.ddl-auto 根据实体类自动生成数据库表和字段
参数 | 含义 |
---|---|
create | 启动时删数据库中的表,然后重新创建,所以会丢失原有表数据,只能在开发时用 ,同理,update也一样 |
create-drop | 启动时删数据库中的表,然后创建,退出时删除数据表,如果表不存在则报错 |
update | 启动时表格式不一致,则更新表,原有数据保留,只增加字段,如是你修改类属性,则表不改变,只报错 |
validate | 项目启动表结构进行校验,如果不一致则报错 |
spring.jpa.properties.hibernate.dialect
连接数据库使用的SQL方言
spring.datasource.driver-class-name
指定JDBC驱动程序
hibernate.show_sql
指定是否在控制台上输出SQL语句,值为true或false
hibernate.format_sql
指定是否按照标准格式在控制台上输出SQL语句,值为true或false
hibernate.default_schema
在生成的SQL中,将给定的schema/tablespace附加于非全限定名的表名上
hibernate.default_catalog
在生成的SQL中,将给定的catalog附加于非全限定名的表名上
hibernate.session_factory_name
SessionFactory创建后,将自动使用这个名字绑定到JNDI中
hibernate.max_fetch_depth
为单向关联(一对一、多对一)的外连接抓取(Outer Join Fetch)树设置最大深度,值为0意味着将关闭默认的外连接抓取。建议在0到3之间取值
hibernate.default_batch_fetch_size
为Hibernate关联的批量抓取设置默认数量。建议使用4、8或16
hibernate.default_entity_mode
为由SessionFactory打开的所有Session指定默认的实体表现模式
hibernate.order_updates
强制Hibernate按照被更新数据的主键为SQL更新排序。这么做将减少在高并发系统中事务的死锁。值为true或false
hibernate.generate_statistics
用于指定Hibernate是否收集有助于性能调节的统计数据,值为true或false,默认值为false
hibernate.use_identifer_rollback
用于指定在对象被删除时,生成的标识属性是否被重设为默认值,值为true或false,默认值为false
hibernate.use_sql_comments
用于指定是否在SQL语句中输出便于调试的注释信息,值为true或false,默认值为false
还没有评论,来说两句吧...