`
bjmike
  • 浏览: 277493 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于spring jpa save更新的操作

 
阅读更多
现有一个entity如下
@Entity
@Table(name = "t_pcstatus")
public class PCStatusEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int statusId;
    private int webId;
    private String ipAddr;
    private String lastSigninDate;

我想通过ipAddr的唯一ip更新操作,使用如下方式
pcStatusEntity = new PCStatusEntity();
        pcStatusEntity.setIpAddr(requestIP);
        int webId = jsonSignIn.getInt("web_id");
        pcStatusEntity.setWebId(webId);
        pcStatusEntity.setLastSigninDate(curDate);
        pcStatusService.savePCStatus(pcStatusEntity);


然而控制台却报了一个错误
 Duplicate entry '127.0.0.1' for key 'ip_addr'


经过google大神的指教,发现了问题,spring jpa的save操作在底层是先执行merge()的一个动作,而执行merge动作时根据entity标签里面的@Id,也就是主键来区分的,所以正确的更新方式应该是先把entity查询出来,然后再更新其中的某个字段,或者指教采用@Query的原生sql方式。
参考地址 http://stackoverflow.com/questions/11881479/how-do-i-update-an-entity-using-spring-data-jpa
分享到:
评论

相关推荐

    详解SpringBoot实现JPA的save方法不更新null属性

    直接调用原生Save方法会导致null属性覆盖到数据库,使用起来十分不方便。本文详细的介绍了如何解决这个问题,非常具有实用价值,需要的朋友可以参考下

    SpringBoot中使用Spring-data-jpa分页查询

    在pom.xml文件中加入spring-boot-starter-data-jpa依赖,使得项目可以使用Spring-data-jpa框架对数据库进行操作。 手动创建实体类 手动创建一个对应数据表的实体类,并在实体类上使用@Entity注解标记该类是一个实体...

    springmvc spring hibernate jpa maven 整合

    修改jdbc.properties 运行起来后 ,输入地址 localhost:8080/ajie-wechat/saveUser.htm 数据库有数据表示成功

    Struts2+Spring+Hibernet+JPA+sitemesh+log4j

    Struts2+Spring+Hibernet+JPA+sitemesh+log4j整合。

    使用SpringBoot-JPA进行自定义保存及批量保存功能

    主要介绍了使用SpringBoot-JPA进行自定义的保存及批量保存功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    springmvc4+hibernate4 jpa实现整合(含jar包)

    4.ItemsService是Items的相关操作接口,ItemsServerImpl是接口实现,注意jpa注解。 5.ItermController是springmvc Controller的实现。 6./WEB-INF/jsp/items/itemsList.jsp是Items web的视图 7.注意web.xml,spring....

    sb-jpa-batch-insert-demo

    在Spring Data JPA应用程序中批量插入示例 所有你需要的是: 将选项spring.jpa.properties.hibernate.jdbc.batch_size设置为所需的值。 将您的saveAll()方法与准备插入的实体列表一起使用。 运行此应用程序,然后...

    shiro-auth:使用SpringBoot+SpringJPA+Swagger+Shiro快速搭建前后端分离的权限管理系统

    根据这个思路我们可以最终使用Spring的拦截器,或者servlet的Filter实现同样的权限管理 演示地址 默认用户 用户 角色 权限 Jack SVIP select;save;delete;update Rose VIP select;save;update Paul P select 后台...

    Spring Recipes: A Problem-Solution Approach, Second Edition

    * Simplifying data access with Spring (JDBC, Hibernate, and JPA) and managing transactions both programmatically and declaratively. * Spring’s support for remoting technologies (RMI, Hessian, ...

    springboot jpa mysql controller演示

    springboot jpa mysql controller 完整demo演示 public class HelloBootController { @Autowired UserRepository userRepository; /** * jpatest * @param modelMap * @return */ @RequestMapping("/...

    springstudy:Springboot + Jpa학습용

    보정보 版本:JAVA 8,JavaScript(ES5),HTML5,CSS3 后端:Spring-boot 2.1.7.RELEASE 模板引擎:Musttache(Vue.js변경예정) DBMS:h2数据库(InMemory)(MySql변경예정),JPA활용 UI框架:Bootstrap 4.3.1 ...

    团队处理:Fullstack Web应用程序,用于使用Spring Boot和Angular处理USPN团队

    Spring数据JPA SpringMVC 冬眠 汤姆猫 Maven REST,端点,RxJS 放心,Mockito ANgular,Material,NodeJS,NPM,Anhular CLI 足球比赛的目标应用程序将在fullstack足球比赛中发挥作用。 后端/ api的Spring启动...

    springboot-mysql-jpa-hibernate

    在Spring Boot中使用JPA + Hibernate + MySQL 详情请参阅这里: : 用法 运行该应用程序,然后继续 使用以下URL调用控制器方法并查看与数据库的交互: /user/save?email=[email]&name=[name] :创建一个具有自动...

    log-parser:Java Log Parser应用程序

    与其他方法(例如标准Spring Data Jpa save方法)相比,它使批量插入要快得多。 要运行该应用程序,首先在您的本地主机上创建一个名为“ log_parser”的mysql表,然后创建一个用户“ log_parser_application”。 ...

    支持多数据库的ORM框架ef-orm.zip

    事实上针对单个对象的get/load/persist/save/update/merge/saveOrUpdate API和Criteria API本来就为一体,只不过是历史的原因被人为割裂成为两套数据库操作API罢了。  因此,对于关系型数据库而言——Entity和...

    ether-lab:J2EE应用程序技术实验室

    建筑Web层:Spring MVC(RESTful API) 服务层:Spring存储库层:Spring Data JPA 开机:Spring Boot 监视:弹簧启动执行器4.发行说明1.0快照- Publishes RESTful API to find, save and delete books at the ...

    CompanySpringDataJpa:测试我们的技能!

    公司SpringDataJpa 24.03.2015 - re-write all with RestController!!!! 去做: - all that's left from last week - resolve above error for a working save - important task (from Bogdan) : looking back...

    Ril-Dil-FoodTruck-Site:初始上传(后端,前端,数据库)Ril Dil FoodTruck网站

    Java后端,JPA,JDBC,Spring-Boot,Hibernate 托管在AWS上MySQL数据库用于存储表单数据,菜单项和GPS坐标以用于食品卡车位置 入门 正在安装 克隆Github回购 在项目目录中,可以运行: npm start 在开发模式下运行...

Global site tag (gtag.js) - Google Analytics