hibernate

Add a Custom message for the Unique Constraints in hibernate

人走茶凉 提交于 2020-08-02 13:33:53
问题 @Entity @Table(name="users",uniqueConstraints = {@UniqueConstraint(columnNames = {"email"})}) public class User implements Serializable { @Column(unique = true,name = "email") @NotNull(message = "{NotNull.email}") @Email(message = "{Pattern.email}") @Size(min=10, max=50) private String email; public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } } I have the message.properties file which is working fine NotNull.email = Email is required Pattern

Add a Custom message for the Unique Constraints in hibernate

懵懂的女人 提交于 2020-08-02 13:32:27
问题 @Entity @Table(name="users",uniqueConstraints = {@UniqueConstraint(columnNames = {"email"})}) public class User implements Serializable { @Column(unique = true,name = "email") @NotNull(message = "{NotNull.email}") @Email(message = "{Pattern.email}") @Size(min=10, max=50) private String email; public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } } I have the message.properties file which is working fine NotNull.email = Email is required Pattern

Add tenant dynamically in multitenant database application using Spring MVC and Hibernate

≡放荡痞女 提交于 2020-07-31 06:56:11
问题 i am developing web application which uses multitenant database configuration. I want to add tenant dynamically. I added master controller to create master schema which hold tenant record created dynamically. but problem is when i request to create tenant it went to MultitenantConnectionProvider i created database there but in database i want to scan package com.appointment.schedular.model.tenant and create table in ne database as well. Source code MasterDatabaseConfig.java @Configuration

ORDER BY in Criteria API for a computed column name (by alias)

两盒软妹~` 提交于 2020-07-31 04:14:13
问题 Having a situation where my java code is symbolic to query - SELECT CUSTOMER_ID, CUSTOMER_NAME, CASE WHEN COUNT (DISTINCT CARD_ID) > 1 THEN 'MULTIPLE' ELSE MAX(CARD_NUM) END AS CARD_NUM FROM CUSTOMER LEFT JOIN CARD ON CARD.CUSTOMER_ID = CUSTOMER.CUSTOMER_ID GROUP BY CUSTOMER_ID, CUSTOMER_NAME Java code for detailed info - CriteriaBuilder cb = em.getCriteriaBuilder(); final CriteriaQuery<Tuple> query = cb.createQuery(Tuple.class); final Root<Customer> root = query.from(Customer.class);

springboot 整合 ehcache

拈花ヽ惹草 提交于 2020-07-29 10:31:19
1. 该说的话 每个人都应当学会独立地去思考、去寻找答案,而不是一味地伸手向他人索取所谓的标准答案。 首先,别成为“拿来主义”者,其次远离"拿来主义"的人。 2. ehcache 2.1 主要特性 快速,简单. 多种缓存策略 缓存数据有两级:内存和磁盘,因此无需担心容量问题 缓存数据会在虚拟机重启的过程中写入磁盘 可以通过RMI、可插入API等方式进行分布式缓存 具有缓存和缓存管理器的侦听接口 支持多缓存管理器实例,以及一个实例的多个缓存区域 提供Hibernate的缓存实现 2.2 和redis相比 ehcache直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享麻烦,集群分布式应用不方便。 redis是通过socket访问到缓存服务,java 框架项目案例:www.1b23.com 。效率比ecache低,比数据库要快很多. 2.3 在应用程序中的位置 3. spring boot 整合 1.搭建spring boot 项目 2. pom.xml文件中添加依赖 < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-cache </ artifactId > </ dependency > < dependency > <

Spring Boot 参数校验

纵饮孤独 提交于 2020-07-29 06:31:24
1、背景介绍 开发过程中,后台的参数校验是必不可少的,所以经常会看到类似下面这样的代码 这样写并没有什么错,还挺工整的,只是看起来不是很优雅而已。 接下来,用Validation来改写这段 2、Spring Boot文档中的Validation 在Spring Boot的官网中,关于Validation只是简单的提了一句,如下 其实, Spring Validator 和 Hibernate Validator 是两套Validator,可以混着用,这里我们用 Hibernate Validator 3、Hibernate Validator https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/#preface 4、Spring Validator https://docs.spring.io/spring/docs/5.0.5.RELEASE/spring-framework-reference/core.html#validation 5、示例 5.1、引入spring-boot-starter-validation 5.2、定义一个对象 5.3、适用@Valid校验,并将校验结果放到BindingResult对象中 注意: 默认情况下,如果校验失败会抛javax

说程序员吃青春饭,忽略技术就是在作死

瘦欲@ 提交于 2020-07-29 01:15:22
2020年5月全国程序员平均工资14542元,工资中位数12500元,其中95%的人的工资介于5250元到35000元。 不可否认,互联网行业确实算是赚钱的行业,而程序员更是这个行业里的香饽饽。程序员升职加薪比起其他岗位来说,相对更加容易。 但是根据调查显示,但仅有13.57%的程序员在这个行业坚持了十年以上。 笔者看到不少“大龄”程序员惶惶不安,“后浪”奔涌而来,继续996,彷徨却又无可奈何。 中年,在这个标志着“成熟”的年龄阶段,家庭、事业、财富,看似拥有了一切,他们却有些力不从心。左手牵着年幼的儿女,右手扶着年过花甲的父母。房贷、教育等开支“大山”,互联网人才结构性过剩,年龄增长带来的高薪压力,身体机能不可逆下滑…… 甚至连刚满30岁的青年也开始有了危机意识,直言“中年程序员太难了!” 单纯按年龄说事 一个行业如果完全以年龄为衡量,以年轻为最高优先级,新入行的年轻血液立刻或者简单熟悉行业规则之后很快就可以替代上年纪的中年人,那么此行业一定是吃青春饭的。 但是这个世道,不是独独只有程序员在吃青春饭。 大家都知道,想在私企干到65岁退休基本就是不可能的事情,职场人都难逃脱中年危机。 无论你什么年龄,无论是什么职位,无论你有什么过往业绩,都将面临严重的危机,没有任何保障,心里没有一点底。在笔者看来,45-60岁的中年人才真正算是危机。 竞争总是存在的,活下去的办法就是学习

2020年Java基础高频面试题汇总(1.4W字详细解析,你能遇到的都在这了)

怎甘沉沦 提交于 2020-07-28 19:49:28
1、 Java语言有哪些特点 (1)简单易学、有丰富的类库 (2)面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高) (3)与平台无关性(JVM是Java跨平台使用的根本) (4)可靠安全 (5)支持多线程 2、面向对象和面向过程的区别 面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调用则可。性能较高,所以单片机、嵌入式开发等一般采用面向过程开发 面向对象:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。面向对象有封装、继承、多态的特性,所以易维护、易复用、易扩展。可以设计出低耦合的系统。但是性能上来说,比面向过程要低。 3 、八种基本数据类型的大小,以及他们的封装类基本类型 大小(字节) 默认值 封装类 注: 1.int是基本数据类型 ,Integer是int的封装类,是引用类型。int默认值是0,而Integer默认值是null,所以Integer能区分出0和null的情况。一旦java看到null,就知道这个引用还没有指向某个对象, 2.基本数据类型在声明时系统会自动给它分配空间 ,而引用类型声明时只是分配了引用空间,必须通过实例化开辟数据空间之后才可以赋值。数组对象也是一个引用对象,将一个数组赋值给另一个数组时只是复制了一个引用

想拿offer?请先过了下面这些Java技术问题.

扶醉桌前 提交于 2020-07-28 17:51:21
一、数据结构与算法基础 说一下几种常见的排序算法和分别的复杂度。 用Java写一个冒泡排序算法 描述一下链式存储结构。 如何遍历一棵二叉树? 倒排一个LinkedList。 用Java写一个递归遍历目录下面的所有文件。 二、Java基础 接口与抽象类的区别? Java中的异常有哪几类?分别怎么使用? 常用的集合类有哪些?比如List如何排序? ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区别和优缺点? 内存溢出是怎么回事?请举一个例子? ==和equals的区别? hashCode方法的作用? NIO是什么?适用于何种场景? HashMap实现原理,如何保证HashMap的线程安全? JVM内存结构,为什么需要GC? NIO模型,select/epoll的区别,多路复用的原理 Java中一个字符占多少个字节,扩展再问int, long, double占多少字节 创建一个类的实例都有哪些办法? final/finally/finalize的区别? Session/Cookie的区别? String/StringBuffer/StringBuilder的区别,扩展再问他们的实现? Servlet的生命周期? 如何用Java分配一段连续的1G的内存空间?需要注意些什么? Java有自己的内存回收机制,但为什么还存在内存泄露的问题呢? 什么是java序列化

Spring boot——logback 基础使用篇(一)

我与影子孤独终老i 提交于 2020-07-28 12:25:03
1 简单日志配置 spring boot内部使用Commons Logging来记录日志,但也保留外部接口可以让一些日志框架来进行实现,例如Java Util Logging,Log4J2还有Logback。如果你想用某一种日志框架来进行实现的话,就必须先配置,默认情况下,spring boot使用Logback作为日志实现的框架。 1.1 配置控制台日志的debug级别 默认情况下,spring boot从控制台打印出来的日志级别只有ERROR, WARN 还有INFO,如果你想要打印debug级别的日志,可以通过application.properites配置debug=true debug= true 1.2 在生产环境环境下,你可以通过命令行进行配置日志的debug级别 java -jar C:\Users\Administrator\Desktop\xx\demo.jar --debug 1.3 配置logging.level.*来具体输出哪些包的日志级别 logging.level.root= INFO logging.level.org.springframework.web = DEBUG logging.level.org.hibernate =ERROR 1.4 将日志输出到文件中 默认情况下spring boot是不将日志输出到日志文件中