jpa
  • 2024-06-30类JPA定制mysql中日志打印
    在类JPA自定义框架中,使用mysql数据库,开发环境可以考虑调整driver:jdbc.driver=net.sf.log4jjdbc.DriverSpy配置:spring.datasource.driver-class-name=net.sf.log4jdbc.DriverSpyspring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/springboot?useUnicode=true&
  • 2024-06-24配置Spring Boot中的jpa.hibernate.ddl-auto属性
    1、create:每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。2、create-drop:每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。3、upda
  • 2024-06-19SpringData初步学习-连接MySQL数据库
    1.添加mysql驱动和spring-data-jpa依赖<dependencies><!--SpringDataJPA--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId><
  • 2024-06-19java spring-data-jpa 使用方法
    SpringDataJPA是Spring生态系统的一部分,它提供了对JPA(JavaPersistenceAPI)的抽象,简化了数据访问层的开发。以下是使用SpringDataJPA的基本步骤和一些核心概念:1.添加依赖        在Maven项目的pom.xml文件中添加SpringDataJPA和相关数据库驱
  • 2024-06-18spring boot jpa 进行通用多条件动态查询和更新 接口
    原因:jpa没有类似于mybatis的那种拼接sql的方式想动态更新需要使用CriteriaUpdate的方式去一直拼接,其实大多数场景只要传入一个非空实体类,去动态拼接sql1.定义实体类继承一个统一的类型@Data@ToString@Entity@Table(name="sys_user")@DynamicInsert@JsonIgno
  • 2024-06-09【源码】Spring Data JPA原理解析之事务执行原理
     SpringDataJPA系列1、SpringBoot集成JPA及基本使用2、SpringDataJPACriteria查询、部分字段查询3、SpringDataJPA数据批量插入、批量更新真的用对了吗4、SpringDataJPA的一对一、LazyInitializationException异常、一对多、多对多操作5、SpringDataJPA自定义
  • 2024-06-07【源码】Spring Data JPA原理解析之事务注册原理
     SpringDataJPA系列1、SpringBoot集成JPA及基本使用2、SpringDataJPACriteria查询、部分字段查询3、SpringDataJPA数据批量插入、批量更新真的用对了吗4、SpringDataJPA的一对一、LazyInitializationException异常、一对多、多对多操作5、SpringDataJPA自定义
  • 2024-05-30springboot~jpa审计字段的自动填充
    在使用SpringDataJPA中的@CreatedDate注解时,如果希望自动填充创建时间字段,通常需要结合@EntityListeners(AuditingEntityListener.class)注解一起使用。这是因为@CreatedDate等审计注解通常与审计事件监听器(AuditingEntityListener)一起工作,用于处理实体的审计信息。审
  • 2024-05-23JPA通过表反向生成相关类
    1.引入JPA依赖并下载JPABuddy插件 2.实体类生成,通过newJPAEntitiesfromDB实现(注意:需要有连接的数据库,并选择表)3.Repository生成,选择对应实体类生成即可然后就可以直接使用了,不过我最近项目使用的是springbootdatajdbc,后续文章我会记录一下datajdbc相关类的生成。
  • 2024-05-21JPA和Hibernate的乐观锁与悲观锁
    哈喽,大家好,我是木头左!JPA和Hibernate的乐观锁和悲观锁乐观锁乐观锁是一种假设资源不会被冲突影响的并发控制策略。它假设多个事务在同一时间内不会发生冲突,因此不需要加锁。当事务提交时,如果检测到数据发生了改变,就会抛出异常,让开发者决定如何处理这个冲突。在JPA中,可以使用
  • 2024-05-21解锁你的数据库:JPA和Hibernate的乐观锁与悲观锁
    哈喽,大家好,我是木头左!引言在当今的软件开发领域,数据库操作是不可或缺的一部分。然而,随着并发操作的增加,如何正确地处理并发问题是每个开发者都需要面对的挑战。本文将深入探讨JPA(JavaPersistenceAPI)和Hibernate这两种ORM(对象关系映射)工具中的乐观锁和悲观锁的使用及其适用场
  • 2024-05-13JPA使用pg数据库时,bool字段不能跨库迁移的解决方案
    首先,大多数人的印象里,hibernate作为一个笨重学习成本高的近乎全自动的框架它的优点就是可以支持很多数据库,但是最近研究发现,java中的boolean类型的字段,在mariadb/mysql中为bit0/1,在sqlserver/oracle中为bit0/1numeric(1,0)check*in(0,1),然而在PG数据库中却是bool,因为pg
  • 2024-05-01SpringBoot Jpa多条件查询
    RepositoryMyRepositoryextendsJpaRepository<MyEntity,Integer>精确查询:Example包装EntityPageablepageable=PageRequest.of(current-1,pageSize);//myEntity实体类参数Exampleexample=Example.of(myEntity);Page<MyEntity>page=myRepository.fin
  • 2024-04-29springboot连接sqlserver2008r2 驱动版本问题。
    <dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>8.2.2.jre8</version></dependency>版本比较常见的:8.4.1.jre8最新的提示:9
  • 2024-04-24JPA Example 默认 join
    起因:由于同事增加了一个对象关联。并且采用了Example查询,导致了一个Null的问题。 主表:BoBookingorder关联表:BoJobcontainerinfo 一关联如下:@Entity@Table(name="bo_bookingorder",catalog="kintech_bo")publicclassBoBookingorder{privateStringbooki
  • 2024-04-22JPA使用问题总结记录
    1.jpa使用@OneToMany和@ManyToOne注解映射两个实体类的关系时报栈溢出的错误:>实体代码片段:①主表(一)@OneToMany(fetch=FetchType.EAGER,mappedBy="crewManagement",cascade=CascadeType.REMOVE)privateList<CrewMember>crewMemberList;②关联表(多)@ManyToOne@
  • 2024-04-22Spring Boot JPA
    SpringBootJPA是一个基于SpringBoot框架的Java持久层框架,它是JavaPersistenceAPI(JPA)的一个实现。JPA是Java平台上的一种ORM(对象关系映射)规范,它提供了一种简单、统一的方式来管理应用程序中的对象和关系型数据库之间的映射。SpringBootJPA基于Hibernate实现了
  • 2024-04-11记录SpringBoot里JPA配置多数据源
    之前的系统是建立在mysql数据库上的,后来需求变更,需要跟教务系统对接获取教师的课表数据,在Oracle上。baidu了之后找了几篇样例,写完了。发现只能连接@Primary的数据源。思索3天后,觉得应该是系统启动时自动就将Primary的数据源加载好了,并没有根据我的bean和mapper去匹配对应的数据
  • 2024-04-11通过JPA注解获取某个类主键字段
    123456789101112131415161718public StringgetPkColumn(StringclassName){    StringpkColumn= null;    try {        Classclazz=Class.forName(className);        Field[]fields=clazz.getDeclaredFiel
  • 2024-04-08Spring Data JPA应用之自定义Repository实现
    在SpringBoot对SpringDataJPA的支持中可以观察到对于数据访问并没有复杂的业务逻辑,可以知道SpringDataJPA提供了代理模式进行处理。跟踪源码可以知道其使用了SimpleJapRepository。那么这个类的有什么特点呢?通
  • 2024-04-08Spring Data JPA应用之动态查询JpaSpecificationExecutor
    JPA提供了基于准则查询的方式即Criterial查询——Specification接口。该接口定义了一个toPredicate方法用例构造查询条件。在SpringBoot对SpringDataJPA的支持案例的基础上对该接口实操进行探讨。1)数据访问接口必须实现JpaSpecificationExecutor
  • 2024-04-02Spring Data JPA日志打印SQL语句和入参真就这么简单吗?
    1乞丐版配置spring:aop:proxy-target-class:truejpa:hibernate:ddl-auto:updateshow-sql:truelogging:level:root:infoorg.hibernate.SQL:debugorg.hibernate.engine.QueryParameters:debugorg.hibernate.engin
  • 2024-04-01JPA不识别MySQL的枚举类型
    1枚举好用吗?数据字典型字段,枚举比Integer好:限定值,只能赋值枚举的那几个实例,不能像Integer随便输,保存和查询的时候特别有用含义明确,使用时不需要去查数据字典显示值跟存储值直接映射,不需要手动转换,比如1在页面上显示为启用,0显示禁用,枚举定义好可以直接显示基于enum可以添加
  • 2024-03-30【Kingbase8数据库】springboot jpa集成Kingbase8各种报错
    AccesstoDialectResolutionInfocannotbenullwhen‘hibernate.dialect’notset去了stackoverflow:java-SpringBootJPA-AccesstoDialectResolutionInfocannotbenullwhen‘hibernate.dialect’notset-StackOverflow不是PostgreSQL,那就换成mysql的嘛:spr
  • 2024-03-222020-6-9-jpa
    基本概念、hibernate、SpringDataJpa基本概念1JPAJPA(JavaPersistenceAPI)Java持久化API。是一套Sun公司Java官方制定的ORM方案,是规范,是标准2ORMORM(ObjectRelationalMapping)对象关系映射。在操作数据库之前,先把数据表与实体类关联起来。然后通过实体类的对象操作(增删改