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中的价格,重新运行它,并再次检查数据库。

仍然找到了价格字段。

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

JPA配置详解之jpaProperties用法