,,JPA配置详解之jpaProperties用法

,,JPA配置详解之jpaProperties用法

这篇文章主要介绍了作业的装配区(JobPackArea)配置详解之作业的装配区(JobPackArea)属性用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

目录

JPA配置之jpaPropertiesSpingDataJpa配置问题春天。JPA。属性。冬眠。hbm 2 DDL。自动=更新

JPA配置之jpaProperties

?可扩展标记语言版本='1.0 '编码='UTF八号'?

豆子xmlns=' http://www。spring框架。'组织/架构/bean '

xmlns:xsi=' http://。w3。' org/2001/XML架构-实例'

xmlns:context=' http://www。spring框架。'组织/架构/上下文'

xmlns:AOP=' http://。spring框架。'组织/架构/AOP '

xmlns:JPA=' http://。spring框架。' org/schema/data/JPA '

xmlns:tx=' http://www。spring框架。'组织/架构/事务'

xsi:架构位置=' http://www。spring框架。组织/架构/AOP http://www.springframework.org/schema/aop/spring-aop-4.1.xsd

http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/data/jpa http://www。spring框架。org/schema/data/JPA/spring-JPA-1.3。xsd

http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.2.xsd

http://www.springframework.org/schema/context http://www。spring框架。org/schema/context/spring-context-4.1。xsd '

!春天自动读取指定位置的配置为简到春天中-

上下文:property-placeholder location=' class path *:/application。属性'/

context:component-scan base-package=' com“四郎网”

!-扫描com.shiroweb包下除去@控制器以外注解的类-

上下文:exclude-filter type=' annotation ' expression=' org。spring框架。刻板印象。控制器'/

上下文:exclude-filter type=' annotation ' expression=' org。spring框架。网络。绑定。注释。控制器建议'/

/上下文:组件扫描

!- c3p0数据源配置-

bean id=' data source ' class=' com。m零钱。v2。c3p 0。“组合工具栏数据源”

属性名称='driverClass '值='${jdbc.driver}'/

属性名称='jdbcUrl '值='${jdbc.url}' /

属性名='用户'值='${jdbc.username}'/

属性名='密码'值='${jdbc.password}'/

/bean

!- Jpa实体经理配置关联hibernateJpaVendorAdapter -

bean id=' entitymanager factory ' class=' org。spring框架。ORM。JPA。localcontainereentitymanagerfactorybean

属性名='dataSource' ref='dataSource'/

属性名称=' jpaVendorAdapter ' ref=' hibernateJpaVendorAdapter '/

属性名称='packagesToScan '值='com.shiroweb'/

!- property name='jpaProperties '

小道具

命名规则我的名字-我的名字

prop key='冬眠。EJB。“命名策略”组织。冬眠。CFG。改进命名策略/道具

实体类对应数据库没有表就生成一个表

prop key='冬眠。hbm 2 DDL。“自动”更新/道具

/道具

/属性-

!-指定作业的装配区(JobPackArea)属性;如冬眠中指定是否显示结构化查询语言的是否显示、方言等-

属性名=属性'

小道具

!-prop key=' hibernate。方言组织。冬眠。方言。Oracle 10g方言/属性-

prop key='冬眠。EJB。“命名策略”组织。冬眠。CFG。改进命名策略/道具

!-prop key=' hibernate。缓存。“供应商_分类”组织。冬眠。缓存。无缓存提供者/道具-

prop key='冬眠。show _ SQL ' true/prop

prop key='冬眠。format _ SQL ' true/prop

!-prop key=' hibernate。hbm 2 DDL。自动验证/验证-

prop key='冬眠。hbm 2 DDL。“自动”更新/道具

/道具

/属性

/bean

!-配置hibernateJpaVendorAdapter关联数据源-

bean id=' hibernateJpaVendorAdapter ' class=' org。spring框架。ORM。JPA。供应商。' hibernateJpaVendorAdapter '

属性名='数据库'值='MYSQL' /

属性名称='showSql '值='真'/

/bean

!-春季数据作业的装配区(JobPackArea)配置-

JPA:仓库base-package=' com。Shiro web ' transaction-manager-ref=' transaction manager ' entity-manager-factory-ref=' entitymanager factory '/

!- Jpa事务配置-

bean id='事务管理器' class=' org。spring框架。ORM。JPA。jpatransactionmanager

属性名称=' entitymanager factory ' ref=' entitymanager factory '/

/bean

!-使用注释来定义事务-

tx:批注驱动的事务管理器='transactionManager '代理目标类='true' /

/豆子

其中,jpaProperties是jpa的一些属性

!-指定JPA属性;比如是否用Hibernate,dialect等显示SQL

属性名='jpaProperties '

小道具

!-prop key=' hibernate . dialect ' org . hibernate . dialect . Oracle 10g dialect/prop-

prop key=' hibernate . EJB . naming _ strategy ' org . hibernate . CFG . improvednamingstrategy/prop

!-prop key=' hibernate . cache . provider _ class ' org . hibernate . cache . nocache provider/prop-

prop key=' hibernate . show _ SQL ' true/prop

prop key=' hibernate . format _ SQL ' true/prop

!-prop key=' hibernate . hbm 2 DDL . auto ' validate/prop-

prop key=' hibernate . hbm 2 DDL . auto ' update/prop

/道具

/属性

这里有一个属性。

prop key=' hibernate . hbm 2 DDL . auto ' update/prop

这是一个有用的设置。

其实这个hibernate.hbm2ddl.auto参数主要是用来自动创建|更新|验证数据库表结构的。如果在这方面没有要求,建议设置value='none '。

Create:每次加载hibernate,最后生成的表都会被删除,然后根据你的模型类重新生成一个新的表。即使两次都没有变化,这也是数据库表数据丢失的重要原因。

Create-drop:每次加载hibernate时,表都是根据model类生成的,但是sessionFactory一关闭,表就自动删除了。

更新:最常用的属性。第一次加载hibernate时,会根据模型类自动建立表结构(前提是先建立数据库)。稍后加载hibernate时,表结构会根据模型类自动更新。即使更改了表结构,表中的行仍然存在,以前的行不会被删除。需要注意的是,当部署到服务器时,表结构不会立即建立,而是在应用程序第一次运行后才建立。

Validate:每次加载hibernate时,都会对创建的数据库表结构进行验证,它只会与数据库中的表进行比较。不会创建新表,但会插入新值。

Sping Data Jpa配置问题

spring.jpa.properties.hibernate.hbm2ddl.auto=update

配置spring数据jpa时,如果spring . JPA . properties . hibernate . hbm 2 DDL . auto设置为update,数据表结构会自动更新。例如,如果一个成员变量被添加到实体中,相应的字段也会被添加到数据表中。但是需要注意的是,如果删除了一个成员变量,此时,数据表中对应的字段不会自动删除。如果删除的成员变量在数据表中设置为not null,则再次运行时会报告错误,如下例所示。

创建新的实体类。

进口龙目岛。数据;

导入javax . persistence . *;

@实体

@数据

公共类汽车{

@Id

@Column(name='id ',nullable=false)

@ generated value(strategy=generation type。身份)

私有长id;

@Column(nullable=false)

私串价;

@列

私有字符串颜色;

@列

私人串串品牌;

}

这时你可以看到数据表car已经在数据库中自动生成,并有相应的字段。

此时,我们删除Car中的价格,重新运行它,并再次检查数据库。

仍然找到了价格字段。

以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: