iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >JPA中jpaProperties怎么用
  • 883
分享到

JPA中jpaProperties怎么用

2023-06-25 16:06:10 883人浏览 独家记忆
摘要

这篇文章主要为大家展示了“JPA中jpaProperties怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JPA中jpaProperties怎么用”这篇文章吧。JPA配置之jpaPrope

这篇文章主要为大家展示了“JPA中jpaProperties怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JPA中jpaProperties怎么用”这篇文章吧。

JPA配置之jpaProperties

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="Http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:jpa="http://www.springframework.org/schema/data/jpa"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.3.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd"><!-- spring自动读取指定位置的配置为简到spring中 --><context:property-placeholder location="classpath*:/application.properties"/><context:component-scan base-package="com.shiroWEB"><!-- 扫描com.shiroweb包下除去@Controller以外注解的类 --><context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/><context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/></context:component-scan><!-- c3p0数据源配置 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="${jdbc.driver}"/><property name="jdbcUrl" value="${jdbc.url}" /><property name="user" value="${jdbc.username}"/><property name="passWord" value="${jdbc.password}"/></bean><!-- Jpa Entity Manager 配置 关联hibernateJpaVendorAdapter --><bean id="entityManagerFactory" class="org.springframework.ORM.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="dataSource"/><property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter"/><property name="packagesToScan" value="com.shiroweb"/><!-- <property name="jpaProperties"><props>命名规则 My_NAME->MyName<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>实体类对应数据库没有表 就生成一个表<prop key="hibernate.hbm2ddl.auto">update</prop></props></property> --><!-- 指定JPA属性;如Hibernate中指定是否显示sql的是否显示、方言等 --><property name="jpaProperties">           <props>               <!-- <prop key="hibernate.dialect">org.hibernate.dialect.oracle10gDialect</prop> -->               <prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>               <!-- <prop key="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</prop> -->               <prop key="hibernate.show_sql">true</prop>               <prop key="hibernate.format_sql">true</prop>               <!-- <prop key="hibernate.hbm2ddl.auto">validate</prop> -->               <prop key="hibernate.hbm2ddl.auto">update</prop>           </props>       </property></bean><!-- 配置hibernateJpaVendorAdapter关联数据源 --><bean id="hibernateJpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"><property name="database" value="MYSQL" />          <property name="showSql" value="true" /> </bean><!-- Spring Data Jpa配置 --> <jpa:repositories base-package="com.shiroweb"  transaction-manager-ref="transactionManager" entity-manager-factory-ref="entityManagerFactory"/>   <!-- Jpa 事务配置 --><bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"><property name="entityManagerFactory" ref="entityManagerFactory"/></bean> <!-- 使用annotation定义事务 --><tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" /></beans>

其中jpaProperties是这是jpa的一些属性的

<!-- 指定JPA属性;如Hibernate中指定是否显示SQL的是否显示、方言等 --> <property name="jpaProperties">           <props>               <!-- <prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop> -->               <prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>               <!-- <prop key="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</prop> -->               <prop key="hibernate.show_sql">true</prop>               <prop key="hibernate.format_sql">true</prop>               <!-- <prop key="hibernate.hbm2ddl.auto">validate</prop> -->               <prop key="hibernate.hbm2ddl.auto">update</prop>           </props>       </property>

这里有个属性为

<prop key="hibernate.hbm2ddl.auto">update</prop>

这是一个有用的设置

其实这个hibernate.hbm2ddl.auto参数的作用主要用于:自动创建|更新|验证数据库表结构。如果不是此方面的需求建议set value="none"。

  • create:每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。

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

  • update:最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据 model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等 应用第一次运行起来后才会。

  • validate:每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。

Sping Data Jpa配置问题

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

在配置spring data jpa时,如果spring.jpa.properties.hibernate.hbm2ddl.auto设置为update,会自动更新数据表结构,比如Entity中增加成员变量,数据表中也会增加相应的字段,但是需要注意的是,如果删除一个成员变量,这时数据表中不会自动删除对应的字段,如果删除的那个成员变量在数据表中被设置为not null,当再次运行时就会报错,如下面的例子

新建一个实体类

import lombok.Data;import javax.persistence.*; @Entity@Datapublic class Car{     @Id    @Column(name="id", nullable = false)    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Long id;     @Column(nullable = false)    private String price;     @Column    private String color;     @Column    private String brand;}

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

JPA中jpaProperties怎么用

这时我们删掉Car中的price,重新运行,我们再次查看数据库

JPA中jpaProperties怎么用

发现还是存在price字段

以上是“JPA中jpaProperties怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: JPA中jpaProperties怎么用

本文链接: https://www.lsjlt.com/news/306122.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JPA中jpaProperties怎么用
    这篇文章主要为大家展示了“JPA中jpaProperties怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JPA中jpaProperties怎么用”这篇文章吧。JPA配置之jpaPrope...
    99+
    2023-06-25
  • JPA配置详解之jpaProperties用法
    目录JPA配置之jpaPropertiesSpingDataJpa配置问题spring.jpa.properties.hibernate.hbm2ddl.auto=updateJPA...
    99+
    2024-04-02
  • Spring Data JPA中关键字Exists怎么用
    这篇文章给大家分享的是有关Spring Data JPA中关键字Exists怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Spring Data JPA 关键字Exists查询数据库中的此数据是否已存在:例...
    99+
    2023-06-15
  • 怎么同时使用JPA和Mybatis
    这篇文章主要讲解了“怎么同时使用JPA和Mybatis”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么同时使用JPA和Mybatis”吧!建模@Entit...
    99+
    2024-04-02
  • jpa的save方法怎么使用
    JPA的save方法用于保存或更新实体对象。具体使用方法如下:1. 定义一个实体类,例如User。java@Entity@Table...
    99+
    2023-10-18
    jpa
  • jpa中无法删除onetomany中many怎么办
    这篇文章主要介绍“jpa中无法删除onetomany中many怎么办”,在日常操作中,相信很多人在jpa中无法删除onetomany中many怎么办问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jpa中无法删...
    99+
    2023-06-21
  • 怎么在Springboot中使用Thymeleaf和Jpa实现登录
    本篇文章为大家展示了怎么在Springboot中使用Thymeleaf和Jpa实现登录,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先要创建一个springboot项目添加以下依赖项pom.xml...
    99+
    2023-06-15
  • Spring Data JPA注解Entity怎么使用
    要使用Spring Data JPA注解@Entity,首先需要创建一个实体类并在类名上添加@Entity注解。这告诉Spring ...
    99+
    2024-03-02
    Spring
  • jpa中query参数问题怎么解决
    在JPA中,可以使用以下几种方式解决query参数问题:1. 使用命名参数:在JPQL查询语句中使用命名参数,然后在创建Query对...
    99+
    2023-09-13
    jpa
  • Springboot JPA怎么使用distinct返回对象
    这篇文章主要讲解了“Springboot JPA怎么使用distinct返回对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Springboot JPA怎么使用dist...
    99+
    2023-06-29
  • SpringBoot中怎么使用JPA作为数据持久化框架
    今天小编给大家分享一下SpringBoot中怎么使用JPA作为数据持久化框架的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。J...
    99+
    2023-07-05
  • JPA @ManyToMany报错怎么解决
    本篇内容主要讲解“JPA @ManyToMany报错怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JPA @ManyToMany报错怎么解决”吧!JPA @ManyT...
    99+
    2023-06-21
  • SpringBoot怎么整合JPA框架
    这篇文章主要介绍了SpringBoot怎么整合JPA框架的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot怎么整合JPA框架文章都会有所收获,下面我们一起来看看吧。一. Spring Boot数...
    99+
    2023-07-04
  • JPA中如何使用@EntityListeners注解
    这篇文章给大家介绍JPA中如何使用@EntityListeners注解,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JPA实体类监听器@EntityListeners注解的使用被@Prepersist注解的方法 ,完成...
    99+
    2023-06-20
  • 怎么利用Spring Boot和JPA创建GraphQL API
    本篇内容主要讲解“怎么利用Spring Boot和JPA创建GraphQL API”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么利用Spring Boot和JP...
    99+
    2023-06-30
  • springboot jpa的用法是什么
    Spring Boot JPA是Spring Boot框架中的一个模块,用于简化与数据库的交互和管理。它基于Java Persist...
    99+
    2023-10-11
    springboot
  • jpa在spring boot中的使用方式
    本篇内容介绍了“jpa在spring boot中的使用方式”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录什么是jpa呢?jpa具有什么优...
    99+
    2023-06-20
  • JPA怎么使用findBy方法自定义查询
    这篇文章给大家分享的是有关JPA怎么使用findBy方法自定义查询的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。JPA使用findBy方法自定义查询最近在项目中使用spring boot+jpa的方式来访问数据库...
    99+
    2023-06-21
  • Spring Data JPA怎么使用QueryDsl查询并分页
    小编给大家分享一下Spring Data JPA怎么使用QueryDsl查询并分页,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Spring Data JPA 使用QueryDsl查询并分页 QProblemPo...
    99+
    2023-06-25
  • JPA中JpaRepository接口的使用方式
    目录JPAJpaRepository接口的使用SpringData的所有接口JpaRepository继承自定义接口的主意事项整体代码如下解决方案JPA JpaRepository接...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作