草庐IT

QueryDSL-JPA

全部标签

spring-boot - spring boot 数据 redis 存储库 @Id 注释 vs jpa 存储库 @Id

我正在使用springboot1.5.2和springbootdataredis1.8。我有两个@Id注解,一个用于JPA,另一个用于redishash。这里我想使用JPA@Id值,它由mysql主键AUTO_INCREMENT生成。但是我发现每次使用redis@Idannotaion时,在redis中我的id将是另一个随机值,但我想使用mysql主键。我的实体是这样的:@Entity@Table(name="orders")@RedisHash(value="order")publicclassOrder{privateLongid;privateLonguserId;@org.sp

spring-boot - spring boot 数据 redis 存储库 @Id 注释 vs jpa 存储库 @Id

我正在使用springboot1.5.2和springbootdataredis1.8。我有两个@Id注解,一个用于JPA,另一个用于redishash。这里我想使用JPA@Id值,它由mysql主键AUTO_INCREMENT生成。但是我发现每次使用redis@Idannotaion时,在redis中我的id将是另一个随机值,但我想使用mysql主键。我的实体是这样的:@Entity@Table(name="orders")@RedisHash(value="order")publicclassOrder{privateLongid;privateLonguserId;@org.sp

JPA事务 Could not open JPA EntityManager for transaction

使用spring-data-jpa+hibernate进行持久化,接口出现如下异常org.springframework.transaction.CannotCreateTransactionException:CouldnotopenJPAEntityManagerfortransaction;nestedexceptionisorg.hibernate.TransactionException:JDBCbegintransactionfailed: atorg.springframework.orm.jpa.JpaTransactionManager.doBegin(JpaTransact

SpringBoot+JPA实现批量处理新增、修改

jpa的sava与saveAllsave()方法@TransactionalpublicSsave(Sentity){if(this.entityInformation.isNew(entity)){this.em.persist(entity);returnentity;}else{returnthis.em.merge(entity);}}根据源码我们可以看出来,save是先通过判断这个对象是不是新的,新的便会新增,否则就是执行的修改。整个是有分两步进行的,先查询再新增saveAll()方法@TransactionalpublicListsaveAll(Iterableentities){

新鲜速递:Spring Data JPA 3.0快速入门、进阶到精通

第一章、安装SpringDataJPA第一步,先确保你使用的是SpringBoot3.0或以上环境,可以在pom.xml里加入SpringDataJPA依赖dependency> groupId>org.springframework.bootgroupId> artifactId>spring-boot-starter-data-jpaartifactId>dependency>第二步,配置你的SpringDataJPA,这里一定要有一个可以连接的数据库,这里以MySQL为例spring:datasource:driver-class-name:com.mysql.cj.jdbc.Drive

新鲜速递:Spring Data JPA 3.0快速入门、进阶到精通

第一章、安装SpringDataJPA第一步,先确保你使用的是SpringBoot3.0或以上环境,可以在pom.xml里加入SpringDataJPA依赖dependency> groupId>org.springframework.bootgroupId> artifactId>spring-boot-starter-data-jpaartifactId>dependency>第二步,配置你的SpringDataJPA,这里一定要有一个可以连接的数据库,这里以MySQL为例spring:datasource:driver-class-name:com.mysql.cj.jdbc.Drive

JPA在事务结束时自动更新查询数据

目录现象产生的原因解决方法现象最近解决了一个困惑几天的bug,数据库里的某一些记录莫名其妙的被刷新了,排查过代码跟应用日志,可以确定不是代码执行的更新。直到今天看到了一条日志,在事务提交时报错“Column'user_name'cannotbenull”,在出错的事务中,针对这一个表只会执行query不会执行update,而这个报错信息是只有insert或者update时才有可能出现,这就意味着事务中自动在这个表执行了的insert或者update语句。产生的原因JPA通过EntityManager对数据库实体类进行管理,而实体对象的状态有new/managed/removed/detache

Spring Boot 篇四: Spring Data JPA使用SQL Server

本文目录SQLServerExpress的安装或直接DockerSQLServerJDBCDriverTCP/IP链接端口IntegratedSecuritySSL总结本篇介绍篇一至篇三中用到的JPA链接SQLServer的具体情况以及实战过程中可能遇到的问题。SQLServerExpress的安装或直接Docker具体的下载和安装教程,请参阅微软SQLServer官网;SQLServerExpress是免费的,并且配套的SQLServerManagementStudio也是可以用的。呃,当然,使用Docker来运行SQLServer是另外一条路径。具体请参阅DockerHub文档SQLSer

java - 如何使用查询而不是带有 JPA 的 @JoinColumn 映射实体关联?

我将Hibernate4.1.3.Final与JPA2.1和MySQL5.5.37一起使用。我有一个具有以下字段的实体:@Entity@Table(name="category",uniqueConstraints={@UniqueConstraint(columnNames={"NAME"})})publicclassCategoryimplementsSerializable,Comparable{privatestaticfinallongserialVersionUID=1L;@Id@Column(name="ID")@GeneratedValue(generator="uui

java - 如何使用查询而不是带有 JPA 的 @JoinColumn 映射实体关联?

我将Hibernate4.1.3.Final与JPA2.1和MySQL5.5.37一起使用。我有一个具有以下字段的实体:@Entity@Table(name="category",uniqueConstraints={@UniqueConstraint(columnNames={"NAME"})})publicclassCategoryimplementsSerializable,Comparable{privatestaticfinallongserialVersionUID=1L;@Id@Column(name="ID")@GeneratedValue(generator="uui