添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

这个官方早就想到了,save方法会返回一个对象,调用这个对象的getId()方法即可。

Product product = new Product();
product.setName("mobile");
product.setDelFlag("0");
Product result = productRepository.save(product);
System.out.println(result.getId());
                    这个官方早就想到了,save方法会返回一个对象,调用这个对象的getId()方法即可。Product product = new Product();product.setName("mobile");product.setDelFlag("0");Product result = productRepository.save(product);System.out.println(re...
				
今天做项目遇到了一个问题,是以前没注意的。我用的是Spring MVC+ Hibernate JPA + MySQL数据库。在插入数据后SQL执行日志中会多出一条select语句: 代码如下:Hibernate: insert into click_statstic (logDate, memoId, src, typeId) values (?, ?, ?, ?)Hibernate: select last_insert_id()表中有个主键是自增。可是在以往的项目中,没发现有这样的问题。于是在网上各种找也找不到原因。心想可能是配置问题。 最终在persistence.xml配置文件中找
转载自https://blog.csdn.net/ansedon/article/details/725668171.为实体类的id注解 @GeneratedValue(strategy=GenerationType.IDENTITY) 指定id的生成策略@Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name...
文章目录一、自增操作1.数据库中的表是自增的2.Entity类的annatation和setter、getter方法3.Service(1)saveAndFlush(2)为何自增id是非null二、更新操作1.DAO2.saveAndFlush()机制Reference 一、自增操作 1.数据库中的表是自增的 AI表示Auto Increme 2.Entity类的annatation和set...
(1)在实体主键上加@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; (2)save之后 Product p=mdao.save(product); System.out.pr...
项目中使用Spring +Hibernate+jpa。有场景需要保存实体后获取实体的主键进行下一步的操作。 经过查询资料以及参考通过修改主键注解的方式。即 @DocumentId @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; 实际就是strategy 的修改,查询源码: public enum Ge...
create or replace trigger rm_sequence_trigger --定时器名 before insert on resource_manage -- 表名 for each row begin select rmsequence.nextval i...
在开发里面时长会用到ID自增。目前大多数的ID自增都是依赖数据库实现的,不同数据库实现ID自增都有或多或少的差异。这样就导致程序在迁移不同数据库的时候需要针对ID自增这里做特殊处理。为了少做处理,这里直接用程序来实现自增ID。不依赖数据库特性。 具体思路是通过注解@GeneratedValue和@GenericGenerator 来自定义一个主键生成策略 SeqPKGenerator 继承 IdentifierGenerator,在主键生成方法generate()上自己定义主键生成规则。 关于ID生成规
JpaRepository已经封装好了许多方法,例如:findAll,但是实际中我们往往要加入一些条件,例如del_flag= 0 ,难道要改JpaRepository的源码么,当然不: 在实体类中使用@Where即可。 @Entity @Where(clause="del_Flag = 0 ") public class Category { 那么打印的sql为: 可以发现自动加上查询条...
在使用 JPA 的 `save` 方法保存实体后,可以通过实体对象的 `getId` 方法获取数据库自增ID 值。但是,对于某些数据库(如 MySQL)的自增 ID,需要在保存实体后才能获取自增ID 值。因此,JPA 提供了另外一种方式来获取自增 ID 值。 使用 JPA 的 `save` 方法保存实体时,可以通过返回值来获取自增 ID 值。`save` 方法返回保存后的实体对象,因此可以通过该对象的 `getId` 方法来获取自增 ID 值。例如: ```java // 假设有一个 User 实体类 @Entity public class User { @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; // 其他属性和方法省略 // 在使用 JPA 的 save 方法保存 User 实体后,可以这样获取自增 ID User user = new User(); user = userRepository.save(user); Long generatedId = user.getId(); 上述代码中,`userRepository` 是 JPA 提供的用于操作 User 实体的仓库类。保存 User 实体后,通过 `save` 方法返回保存后的实体对象,然后通过该对象的 `getId` 方法获取自增 ID 值。