记一次 mysql timestamp 精度问题的排查 → 过程有点曲折-编程思维

开心一刻   下午正准备出门,跟正刷着手机的老妈打个招呼   我:妈,今晚我跟朋友在外面吃,就不在家吃了   老妈拿着手机跟我说道:你看这叫朋友骗缅北去了,tm血都抽干了,多危险   我:那是他不行,你看要是吴京去了指定能跑回来   老妈:还吴京八经的,特么牛魔王去了都得耕地,唐三藏去了都得打出舍利,孙悟空去了都得演大马戏   我:那照你这么说,唐僧师徒取经走差地方了呗   老妈:那可没走错,他

jpa中使用limit-编程思维

  4.4.5. Limiting Query Results You can limit the results of query methods by using the first or top keywords, which you can use interchangeably. You can append an optional numeric value to top or f

jpa实体类映射postgresql中的jsonb字段-编程思维

前言 有时候我们需要在PostgreSQL表中存储jsonb类型的数据,JPA实体类中如何定义这个属性与之对应呢? 本篇介绍两种方式: ① 自定义数据库方言和自定义类型 ② 引入hibernate-types依赖 方式一 自定义数据库方言和自定义类型 自定义方言 public class CustomPostgreSqlDialect extends PostgreSQL9Dial

rest-apiv2.0.0升级为simplest-api开源框架生态之simplest-jpa发布-编程思维

什么是 simplest simplest 追求存粹简单和极致。 旨在为项目快速开发提供一系列的基础能力,方便用户根据项目需求快速进行功能拓展 不在去关心一些繁琐。重复工作,而是把重点聚焦到业务。 前言 程序 10 年。作为一个多年程序。深知每个项目和程序,都有很多重复性工作要做。 入行近 10 年,我写过很多程序,也写死过很多程序。。。。。 见证互联网黄金时代,到如今的萎靡。幸运是我还在程序员

postgresql+geohash地图点位聚合-编程思维

PG数据库安装扩展 需要用到pg数据库的空间扩展postgis,在进行操作之前需要在数据库中安装扩展。 CREATE EXTENSION postgis; CREATE EXTENSION postgis_topology; CREATE EXTENSION postgis_geohash; GeoHash GeoHash是一种地址编码方法。他能够把二维的空间经纬度数据编码成一个字符串。具体原

jpa 实体映射-编程思维

一、实体基本映射 1 /* 2 * @Entity:将领域对象标注为一个实体,表示保存到数据库中 3 * @@Table:保存到数据库中表名,默认表名为类名,可通过name属性命名 4 * 5 * */ 6 @Entity 7 @Table(name="t_user") 8 public class User { 9 10 11 @Id //主键 12 @

hibernate跨数据库,json字段处理方案,自定义扩展jsonstringtype-编程思维

一、背景 对于一些不经常更新的静态数据,我们喜欢使用json格式存储。推荐的做法是将json数据存储在key-value数据库,但这无疑增加了技术成本,所以我们通常还是存储在RDB数据库中。我们在使用hibernate,对json数据的存取期望是,存能自动转换为json格式存储,取能自动将json数据转换为对象数据。在数据库方面,Mysql5.7版本以后新增的功能,Mysql提供了一个原生的Js

hibernate跨数据库,columndefinition不可移植性改造方案-编程思维

背景&问题描述 很多项目选择jpa/hibernate,更多是为了代码的可移植性,不限制数据库的选择。特别是toB的业务系统,不同的客户,要求用不同的数据库。特别近几年,大力倡导软件国产化,国产数据库也在崛起,很多政府、国企、电力、银行在数据库的选择上,纷纷转向国产数据库。也许mybatis+mysql很香,但是代码可移植性却成了toB\toG软件类平台的关键竞争力。 hibernate

jpa连表查询-编程思维

JPAQuery<TSscPlanDayExecutePO> jpaQuery = jpaQueryFactory.selectFrom(planDayExecutePO) .leftJoin(tSscPlanDayPO).on(tSscPlanDayPO.id.eq(planDayExecutePO.objDayplan))

拥抱jpa规范 - 编程思维

前言 在上文Hibernate使用中曾经提到过Hibernate是JPA实现的一个超集,但当时使用的都是原生Hibernate,在本文中我们将拥抱JPA规范,重构持久化层。 JPA+HIbernate配置 下面是ApplicationContxt文件 XML<bean id="entityManagerFactory" class="org.springframew

jpa使用枚举 - 编程思维

使用converter @Converter public class PeriodStatusConverter implements AttributeConverter<PeriodStatus, Integer> { @Override public Integer convertToDatabaseColumn(PeriodStatus status) {

[case10]使用rsql实现端到端的动态查询 - 编程思维

序 本文主要研究一下如何使用RSQL实现从前端到后端的动态数据查询。 RSQL RSQL(RESTful Service Query Language)是Feed Item Query Language (FIQL) 的超集,是一种RESTful服务的查询语言。这里我们使用rsql-jpa来实践,它依赖rsql-parser来解析RSQL语法,然后将解析后的RSQL转义到JPA的Specific

聊聊jpa的动态查询 - 编程思维

序 本文主要研究下jpa的动态查询 javax.persistence.criteria jpa从hibernate里头吸收了criteria,利用criteria结合对url查询语法的解析,也可以实现端到端的动态查询。 下面展示下springside branch 4版本中的实现。 springside branch 4 SearchFilter /**********************

jpa映射组合主键时错误:no default constructor for entity - 编程思维

我们在使用JPA对历史问题处理时,会涉及到组合主键的处理。处理的思路如下: 使用@Embeddabel定义一个组合组键ID ID实现SErializable接口 声明一个protected的构造方法 声明带有复合主键属性的构造方法 重写equals和hasCode方法 比如,我有一个使用studentId和courseId两个字段做为主键的复习主键表。 定义代码如下: package co

jpa 内嵌对象 - 编程思维

问题描述 有些场景下,有些关系不足以拆分出一个实体,但是如果新建一个对象管理会让代码更清晰,这种场景下用到了内嵌对象。 一个Teacher,三个属性,id、firstName、lastName。 我们可以直接这么写,也可以建一个内嵌的Name对象,虽然在一个实体中差别不大,但是如果以后有用到name的场景,可以直接使用该内嵌对象。 解决方案 实现 以下代码省略set、get方法: @Entit

spring data slice 学习 - 编程思维

需求 新开发一个接口,返回结果要求使用Slice替换原来的Page。 Slice和Page的区别 首先,Page是继承了Slice的,所以Page的功能要比Slice更多。 public interface Page<T> extends Slice<T> { int getTotalPages(); long getTotalElements();