JPA
文章平均质量分 67
琦彦
Find out who you are,and be that person.
展开
-
@Temporal使用
1.日期:@Temporal(TemporalType.DATE) @Column(name = "applyDate", nullable = false, length = 10) public Date getApplyDate() { return applyDate; }在页面端取值:2011-04-12 2.时间:@Temporal(Temp原创 2017-10-06 16:19:32 · 848 阅读 · 0 评论 -
save, saveOrUpdate, persist, merge 区别
save()方法:应该避免在事务之外调用save()方法,否则关联实体(例如employee和address是一对一关系,相互关联)将不会被保存从而导致不一致。很容易忘记在最后调用flush()方法,因为不会有任务的异常或者警告抛出。 hibernate save()方法会立即返回id,原因很可能是调用save()的同时这个实体对象已经被写入数据库(立即执行sql语句insert into)...转载 2018-07-16 19:00:42 · 5828 阅读 · 0 评论 -
Hibernate的事务的隔离性
事务的特性:原子性:指处于同一个事务中的多条语句是不可分割的。一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态。隔离性:指多线程环境下,一个线程中的事务不能被其他线程中的事务打扰持久性:事务一旦提交,就应该被永久保存起来。如果不考虑事务的隔离性,会出现以下问题:脏读:指一个线程中的事务读取到了另外一个线程中未提交的数据。不可重复读(虚读):指一个线程中的事务读取到了另外一个线程中提...原创 2018-04-11 17:30:09 · 13343 阅读 · 0 评论 -
JPA 关系映射(OneToOne、OneToMany、ManyToMany)
单向 OneToOne单向一对一是关联关系映射中最简单的一种,简单地说就是可以从关联的一方去查询另一方,却不能反向查询。@OneToOne注解只用于关系的发出端,同时定义一个接收端类型的字段属性;单向的一对一关系在数据库中是以外键的形式被映射的,其中关系的发出端存储一个指向关系的接收端的一个外键。缺省情况下这个外键的字段名称,是以它指向的表的名称加下划线“_”加“ID”组成的。当然我们也可以根据我...原创 2018-03-07 08:11:18 · 28537 阅读 · 0 评论 -
JPA:@Modifying注解(UPDATE或者DELETE)
通过 @Modifying 注解可以完成修改(UPDATE或者DELETE)操作(注意:不支持新增)示例package com.newcapec.dao.repository.pay;import com.newcapec.dao.domain.UserEnroll;import org.springframework.data.jpa.repository.JpaRe原创 2017-12-18 09:09:42 · 19664 阅读 · 0 评论 -
Java, JDBC and MySQL类型对应关系
Java, JDBC and MySQL Types MySQL Connector/J is flexible in the way it handles conversions between MySQL data types and Java data types. In general, any MySQL data type can be converted to a ja...翻译 2017-12-14 20:18:33 · 15695 阅读 · 0 评论 -
JPA联合主键的使用(@EmbeddedId+@Embeddable)
在用户角色权限设计中,我们使用复合主键来来保证唯一性1.数据库CREATE TABLE `sys_role_detail` ( `roleid` int(11) DEFAULT NULL COMMENT '角色id', `menuid` int(11) DEFAULT NULL COMMENT '菜单id', `orgcode` varchar(20) DEFAULT NUL...原创 2017-12-05 19:14:22 · 16811 阅读 · 0 评论 -
JPA注解:根据实体生成数据表和字段的注释(正向工程)
1.JPA常见注解请移步:http://blog.csdn.net/fly910905/article/details/78140411 2.JPA注解:表注释@org.hibernate.annotations.Table(appliesTo = "TableName",comment="表注释")/* * Hibernate,原创 2017-12-14 08:42:38 · 29109 阅读 · 2 评论 -
数据库连接池 (DBCP、c3p0、Druid) 配置说明和对比
1. 引言1.1 定义数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立转载 2017-11-22 18:40:54 · 13565 阅读 · 3 评论 -
Druid 监控JavaWeb项目的数据库访问性能
1.前言通过Druid提供的监控功能,可以清楚知道连接池和SQL的工作情况。 监控SQL的执行时间、ResultSet持有时间、返回行数、更新行数、错误次数、错误堆栈信息。SQL执行的耗时区间分布。什么是耗时区间分布呢?比如说,某个SQL执行了1000次,其中0~1毫秒区间50次,1~10毫秒800次,10~100毫秒100次,100~1000毫秒30次,1~10秒原创 2017-11-22 17:20:16 · 14783 阅读 · 0 评论 -
SpringDataJpa:JpaRepository增删改查
Jpa查询1. JpaRepository简单查询基本查询也分为两种,一种是spring data默认已经实现,一种是根据查询的方法来自动解析成SQL。 预先生成方法 spring data jpa 默认预先生成了一些基本的CURD的方法,例如:增、删、改等等继承JpaRepositorypublic interface UserRepository extends...原创 2017-11-17 08:32:19 · 130013 阅读 · 4 评论 -
EntityManager常用API
JPA实体状态分析实体状态详解瞬时状态:实际上就是new了一个普通的JavaBean对象。托管状态:1.当1.瞬时对象调用了管理器的persist()后,即可将一般的JavaBean做为了持久Bean,该Bean的任何属性改动都会牵涉到数据库记录的改动原创 2017-11-22 10:44:44 · 21408 阅读 · 6 评论 -
Persistence,EntityManagerFactory和EntityManager
1.持久化上下文 持久化单元(persist unit)就是关于一组Entity的命名配置。持久化单元是一个静态概念。 持久化上下文(Persist Context)就是一个受管的Entity实例的集合。每一个持久化上下文都关联一个持久化单元,持久化上下文不可能脱离持久化单元独立存在。持久化上下文是一个动态概念。 尽管持久化上下文非常重要,但是开发者不直接与之打交道原创 2017-11-22 08:58:07 · 15878 阅读 · 0 评论 -
JPA实体的常用注解
1 、 @Entity(name="EntityName")必须 ,name 为可选 , 对应数据库中一的个表2 、 @Table(name="",catalog="",schema="")可选 , 通常和 @Entity 配合使用 , 只能标注在实体的 class 定义处 , 表示实体对应的数据库表的信息name: 可选 , 表示表转载 2017-09-30 10:48:36 · 2534 阅读 · 0 评论 -
JPA异常:Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
异常信息:org.springframework.orm.ObjectOptimisticLockingFailureException: Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1; nested exception is org.hibernate...原创 2019-04-10 14:39:11 · 18480 阅读 · 1 评论