0%

hibernate 默认的命名策略是不会将驼峰式命名 (cameCase) 映射到蛇形命名 (snake_case) 上去的,
虽然可以直接在 @Column 上指定需要映射的 name,但是使用策略一致地应用命名更方便些。

从 Hibernate 5 开始,数据库对象命名策略由 PhysicalNamingStrategy 接口表示,我们可以自定义该接口以自动将数据库标识符从 cameCase 转换为 snake_case。

阅读全文 »

案例分析

我们经常遇到涉及很多条件的业务逻辑,每个都需要不同的处理。我们以 Calculator 类为例。我们将有一个方法,它接受两个数字和一个运算符作为输入,并根据操作返回结果:

阅读全文 »

Java 面试问题整理

[TOC]

Java 程序如何做到一次编写,到处运行

java 代码源文件经过 javac 编译期编译为 .class 文件,.class 文件不包含处理器本机代码,而是包含字节码 - JVM 的机器语言。启动器使用虚拟机运行程序。

Figure showing MyProgram.java, compiler, MyProgram.class, Java VM, and My Program running on a computer.

由于 JVM 可在许多不同的操作系统上使用,因此相同的 .class 文件可以在不同系统上运行。

JDK 和 JRE 的区别

JRE(Java Runtime Environment) 是 JVM 执行代码的基础。JDK 是 Java 程序开发所有特性的工具,包含JRE,编译,开发和调试工具。

JVM 内存结构

JVM_Internal_Architecture

什么是按值传递,什么是引用传递,Java 中是值传递还是引用传递

值传递:传递到方法中的形参值只是实参值的一个副本,对形参的修改不会影响之前的值;

引用传递:形参只是实参的别名。它指向真正的实参,对形参所做的任意修改都反映在实参中。

Java中都是值传递,基本类型值传递,对象类型是引用值传递,也就是说值的内容是对象的引用。

详见:https://www.zhihu.com/question/31203609

阅读全文 »

Spring Security 的 Web 基础结构完全基于标准的 servlet 过滤器。Spring Security 在内部维护一个过滤器链,其中每个过滤器都有特定的责任,过滤器的顺序很重要,因为它们之间存在依赖关系。

阅读全文 »

实体模型

假设我们有以下 Post 实体:

Post Domain
如果你需要修改实体,则需要抓取整个实体;但是如果你只是对其中的几列感兴趣,则使用 DTO 会更有效。

如果我们只是想选择 Postidtitle,如果抓取整个实体会比较浪费资源,接下来我们看下 JPA 和 Hibernate 怎么实现我们的目标。

阅读全文 »

引言

在关系数据库系统中,通过外键列来链接两个表之间的一对多关联,以便子表记录引用父表的主键。

Many To One

尽管在关系型数据库管理系统(RDBMS)中可能很简单,但在涉及 JPA 时,一对多数据库关联可以通过 @ManyToOne@OneToMany 关联来表示,因为面向对象编程(OOP)的关联可以是单向的,也可以是双向的。

阅读全文 »

在 JavaScript 或等语言中会出现很多运算符,对于有些运算符不明白看别人代码就有些懵,学习并整理一下它们的功能及用法。

这些运算符主要包括:双叹号 !!,短路或 ||,短路与 &&,按位非 ~,按位与 &,异或 ^,双波浪号 ~~,可选链式操作符(Optional Chaining Operator) ?.

有些运算符是某些语言特有的,但大多具有普遍性,代表的含义和语法也不尽相同。

可能还会有一些运算符比如:可选参数 ?: 非空断言 !. 这些包含在某个特定语言,例如:TypeScript 中的运算符在此不再解释。


阅读全文 »

总结下 bindActionCreators(actionCreators, dispatch) 的用法:


ActionCreator

为什么需要 actionCreator:

如果我们的 action 直接可以拿到的,当然就不需要 actionCreator,我们可以直接 store.dispatch({'INCREMENT'})

但是如果我们的 action 信息是异步获取的,或者其它方法获取的话,就需要 actionCreator,感觉是废话。

actionCreator 是什么

我们直接复制文档中的概念:

一个 action creator 就是一个创建 action 的函数。action 是信息的载体,action creator 是用来创建 action 的工厂。

调用 action creator 只会产生一个 action,但是不会分发(dispatch)它。需要调用 store 的  dispatch 方法去完成分发。平时我们所说的 bound action creator(绑定行为创建器) 其实是说 调用 action   creator 并立即将结果分发给特定的 store 实例 的方法。

阅读全文 »

在配置 NGINX 文件映射时发现 root 并没有按照期待映射,找解决方法,建议换作 alias 映射目录,不解,查下文档,理解区别。

root

root 指令用于指定搜索文件的根目录。NGINX 将请求 URI 附加到 root 指定的路径。该指令可以放置在 httpserverlocation 上下文中的任何级别上。

阅读全文 »