https://cdn.jsdelivr.net/gh/lewky/lewky.github.io@master/images/avatar.jpg

雨临Lewis的博客

JPA/Hibernate问题汇总

懒加载异常 - JsonMappingException: could not initialize proxy

查询数据时报懒加载异常:

1
2
3
4
5
Caused by: org.hibernate.LazyInitializationException: could not initialize proxy [com.cbxsoftware.cbx.attachment.entity.RefAttachment#c109ec36e60c4a89a10eabc72416d984] - no Session
	at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:169)
	at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:309)
	at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor.intercept(ByteBuddyInterceptor.java:45)
	at org.hibernate.proxy.ProxyConfiguration$InterceptorDispatcher.intercept(ProxyConfiguration.java:95)

docsify快速入门

docsify

根据官方说法,docsify是一个神奇的文档网站生成工具,也可以把它当做一个简易版的静态站点诸如Hexo、Hugo等。当然,它是专门针对文档的,忽然想到了程序员深恶痛绝的就是写API文档……

docsify特性很多,最吸引我的是全文搜索、主题简洁好看、无需构建的纯静态站点。这意味着可以很简单地把写完的文档直接扔到Pages服务上,比如GitHub Pages、Coding Pages等等。

分享一些有趣的代码注释

代马

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
                               _(\_/) 
                             ,((((^`\
                            ((((  (6 \ 
                          ,((((( ,    \
      ,,,_              ,(((((  /"._  ,`,
     ((((\\ ,...       ,((((   /    `-.-'
     )))  ;'    `"'"'""((((   (      
    (((  /            (((      \
     )) |                      |
    ((  |        .       '     |
    ))  \     _ '      `t   ,.')
    (   |   y;- -,-""'"-.\   \/  
    )   / ./  ) /         `\  \
       |./   ( (           / /'
       ||     \\          //'|
       ||      \\       _//'||
       ||       ))     |_/  ||
       \_\     |_/          ||
       `'"                  \_\
                            `'" 

PostgreSQL - 字符串函数汇总

前言

本文基于PostgreSQL 12.6版本,不同版本的函数可能存在差异。

拼接字符串

||是字符串连接操作符,在拼接字符串时要求前两个操作数至少有一个是字符串类型,不然会报错。如下:

1
2
3
select 'a' || 1;
select 2 || 'a' || 1;
select 2 || 44 || 'a' || 1; --Error

远程桌面无法复制粘贴

方法一

可能是rdpclip.exe进程出了问题,在任务管理器中找到该进程,选中后并结束进程。接着重启该进程:

  1. win + R组合键打开运行窗口
  2. 输入rdpclip.exe,按下回车或确定按钮。

此时可以在任务管理器重新看到该进程,一般情况下就可以正常的在远程桌面复制粘贴了。

Java日期问题汇总

日期格式化的跨年问题

通常格式化日期时,都是使用的YYYY/MM/dd来格式化日期,但是在遇到跨年日期时,就会遇到很神奇的现象,如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
final Calendar calendar = Calendar.getInstance();
// 2020-12-26
calendar.set(2020, 11, 26);
final Date date1226 = calendar.getTime();
// 2020-12-27
calendar.set(2020, 11, 27);
final Date date1227 = calendar.getTime();
// YYYY
final DateFormat Y = new SimpleDateFormat("YYYY/MM/dd");
System.out.println("2020-12-26用YYYY/MM/dd表示:" + Y.format(date1226));
System.out.println("2020-12-27用YYYY/MM/dd表示:" + Y.format(date1227));

Jave基础复习总纲

Java的数据结构有哪些?

  1. 线性表(ArrayList)
  2. 链表(LinkedList)
  3. 栈(Stack)
  4. 队列(Queue)
  5. 图(Map)
  6. 树(Tree)

面向对象的特征有哪些方面

  1. 抽象:找共性,将一类对象的共同特征总结出来构造类的过程, 包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的具体细节。
  2. 继承:子类继承父类的所有属性和方法,可以重用,也可以覆盖。
  3. 封装:把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。隐藏一切可隐藏的东西,只向外界提供最简单的编程接口。
  4. 多态性:分编译时的多态性和运行时的多态性。方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。 要实现运行时的多态要满足:
    • 方法重写,即子类重写父类的方法
    • 对象造型,即父类引用引用子类对象

++i与i++的区别

  • i++:先赋值,后计算
  • ++i:先计算,后赋值

程序的结构有那些

  • 顺序结构
  • 选择结构
  • 循环结构

数组实例化有几种方式

静态实例化:创建数组的时候已经指定数组中的元素。

1
int [] a= new int[]{ 1 , 3 , 3}

动态实例化:实例化数组的时候,只指定了数组长度,数组中所有元素都是数组类型的默认值。

Java常用包有那些

  • java.lang
  • java.io
  • java.sql
  • java.util
  • java.net
  • java.math

形参与实参区别

实参(argument)

全称为"实际参数”,是在调用时传递给函数的参数。在进行函数调用时,实参必须具有确定的值,以便把这些值传送给形参。

形参(parameter)

全称为"形式参数”,由于它不是实际存在的变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数。在调用函数时,实参将赋值给形参。因而,必须注意实参的个数、类型应与形参一一对应,并且实参必须要有确定的值。

Hugo系列(4) - 从Hexo迁移至Hugo以及使用LoveIt主题的踩坑记录

前言

本文主要记录从Hexo迁移至Hugo所遇到的一些坑,以及Hugo的LoveIt主题的一些bug之类的应对方案。下面是涉及到的Hexo、Hugo以及LoveIt各自的版本:

1
2
3
4
5
hexo: 3.8.0

hugo: v0.74.2/extended windows/amd64 BuildDate: unknown

LoveIt: v0.2.10