愷风(Wei)的专栏

使用工具、了解工具、创造工具……

我的技术博客索引

我的JAVA相关文章我的Clutter相关博客我的网络通信相关文章我的Linux相关文章我的与kernel module有关的文章我的嵌入式Linux相关文章我的MeeGo/Moblin相关文章我的Andriod开发相关文章我的与编程思想相关的文章我的无限网络文章我的产业生态链和杂谈文章我的四方书...

2009-09-12 22:47:00

阅读数:12068

评论数:14

Java for Web学习笔记(一四二)Spring security准备(3)初窥

了解Spring Security的基本知识 完全J2EE的web container也能提供完整的安全框架,但tomcat不是。Spring Security可以使用JDBC,或者我们的服务或仓库来认证用户,也提供了内置的对微软Active Derectory,Jasig的CAS(Centra...

2018-09-27 11:45:34

阅读数:93

评论数:0

Java for Web学习笔记(一四一)Spring security准备(2)授权

访问的范围和权限属于授权。 Principals和Identities 就Java而言,很方便利用java.security.Principal。Principal至少会包含已被认证的用户identity,例如用户名,还可能有其他信息。此外还可以保护用户的授权信息,这些信息的表述应采用常量,例...

2018-09-27 11:44:15

阅读数:112

评论数:0

Java for Web学习笔记(一四十)Spring security准备(1)认证

匿名认证 匿名认证有多种方式: 不是通过你的ID进行认证,例如通过HTTP的session ID,实际是认证你曾经访问。 作为其他认证缺失的情况:,例如可以匿名登录论坛进行浏览。当让如果要做更多的事情,通常需要进行身份认证。 密码认证 密码认证古来有之。有密码和反密码,例如空降兵密码为fl...

2018-09-27 11:39:54

阅读数:85

评论数:0

Java for Web学习笔记(一三九)篇外之数据库的ACID和JPA(3)隔离性

SQL中的Isolation 实验SQL语句案例: -- SELECT @@session.tx_isolation; 查看当前的isolation SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; -- SET SESSIO...

2018-09-27 11:24:56

阅读数:70

评论数:0

Java for Web学习笔记(一三八)篇外之数据库的ACID和JPA(2)JPA

在测试中,我们发现在一个JPA事务中: Spring Data的写SQL是在最后commit前发出,这最大程度地缩短了写操作和commit之间的时间。 对相同的ID的读,JPA只从数据库中读取一次。 从数据库中获取entity,修改entity的数据,即使最后没有执行save,在commit...

2018-09-27 11:15:07

阅读数:68

评论数:0

Java for Web学习笔记(一三七)篇外之数据库的ACID和JPA(1)原子性

ACID大家都听过,看似也了解,但是在实际的项目中,发现不是所有人都正确理解。所以想谈一下当中容易忽略或者错误理解的地方。现在的开发语言和开发工具都很丰富,如果这要一一了解,也真是耗不起,但是有些是工具,知道怎么用就行,有些是基础知识,需要掌握。ACID就是基础知识,只有真正了解,才能在代码中进行...

2018-09-27 11:08:14

阅读数:46

评论数:0

Java for Web学习笔记(一三六)映射(12)还谈FetchType.LAZY

说明 在前面的学习中(见Java for Web学习笔记(一二七)映射(3)OneToOne),加上fetch = FetchType.LAZY的属性是集合或者Map。反映在SQL中,就是读取其他表格的信息(无论是通过join还是什么)。例如前面学习的@OneToMany、@ElementCol...

2018-08-24 16:23:03

阅读数:93

评论数:0

Java for Web学习笔记(一三五)映射(11)代码触发器

说明 数据库是有触发器Trigger。但我们希望业务逻辑能从底层的具体数据存储抽象出来(有需要时可以更好存储机制),也就是要在应用中编写trigger,而不是依赖底层数据库来实现。 Entity内部触发器 我们随便挑选以前的某个entity,在里面加入触发器。 @Entity publi...

2018-08-15 16:49:15

阅读数:106

评论数:0

Java for Web学习笔记(一三四)映射(10)@SecondaryTables

说明 @SecondaryTables在实际中很少使用。相当于是将一个entity的基础属性(不是collection)拆分到不同表中存放。这在表格设计中是不合理的。常用于遗留数据库,以及表格列太多查出数据库供应商的限制。 和OneToOne不同,没有使用外键进行表格关联,而是两个表的主键代表...

2018-08-09 17:12:10

阅读数:138

评论数:0

Java for Web学习笔记(一三三)映射(9)中文输入

这个小例子中,我们已经: 整个项目在eclipse中指定采用UTF-8 在web.xml中对jsp的配置已经设置了<page-encoding>UTF-8</page-encoding> 在jsp文件中,...

2018-08-08 15:55:50

阅读数:91

评论数:0

Java for Web学习笔记(一三二)映射(8)@ElementCollection

说明 在前面我们学习了OneToOne、OneToMany、ManyToOne,将数据库中不同表格的关联转换为spring中不同entity的关联。但是在不少场景中,我们希望在一个entity的视图中同查看到这几个表的信息,而无需通过entity之间的关联。 在这个小例子中,我们还将学习和讨论...

2018-08-08 15:52:33

阅读数:367

评论数:1

Java for Web学习笔记(一三一)映射(7)entity的抽象和继承

Mapped superclass 我们通过@javax.persistence.MappedSuperclass定义一个Mapped superclass,定义表格的通用属性,提供给Entity继承。它和Entity的属性映射是一样,但需注意: entity可以重写@Column。类标记为 ...

2018-08-03 17:25:11

阅读数:121

评论数:0

Java for Web学习笔记(一三十)映射(6)@Version

@Version JPA可以将entity的某个属性(只允许一个)标记为@javax.persistence.Version。这个属性可以是整形和java.sql.Timestamp。 如果是整形,Version从0开始,每次update,每次自动+1;如果是Timestamp,就是每次更新为...

2018-08-02 14:38:05

阅读数:88

评论数:0

Java for Web学习笔记(一二九)映射(5)ManyToMany

ManyToMany需要中间表格。 小例子 一本书可以有N个作者,一个作者可以有N本书。 CREATE TABLE `Book` ( `Id` bigint(20) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, `BookName`...

2018-08-01 11:37:21

阅读数:78

评论数:0

Java for Web学习笔记(一二八)映射(4)OneToMany和ManyToOne

OneToMany和ManyToOne是更为常见的例子。如果A和B的关系是OneToMany,则B和A的关系就是ManyToOne。 小例子 我们继续前面书的例子,增加书评表。一本书可以有多条书评,一条书评对应一本书。 CREATE TABLE Book ( Id BIGINT U...

2018-07-31 14:17:54

阅读数:66

评论数:0

Java for Web学习笔记(一二七)映射(3)OneToOne

OneToOne EntityA和EntityB是一对一的关联关系。这在实际中较少使用到。如果某个Entity具有上百个属性,我们可能会将某些属性分别放入子entity中另外存放。有点似列式数据库(如HBase)。用于属性很多,属性可以归类,很可能会有新增属性的情况。 小例子 CREA...

2018-07-30 11:52:32

阅读数:68

评论数:0

Java for Web学习笔记(一二六)映射(2):自定义类作为Entity属性

说明 在之前的学习中,表格的一列对应Entity的一个属性。数据库表格的列都是比较简单的类型,由此也限制了属性也只能是简单的类型。本文将学习利用@Embeddable 实现多个类映射到复杂类型。 多个列映射到类 数据表格结构: CREATE TABLE `Person` ( `Per...

2018-07-18 17:37:45

阅读数:131

评论数:1

Java for Web学习笔记(一二五)映射(1):再谈converter

我们在《Java for Web学习笔记(一零八):再谈Entity映射(1)数据转换》中已经给出了通过转换器将数据库列的信息和指定类属性进行转换的例子。 原生JDBC的时间日期转换 JDBC的版本 我们原来使用的mysql-connector-java-5.1.x支持多个JDBC的版本...

2018-07-17 16:26:47

阅读数:341

评论数:0

Java for Web学习笔记(一二四):搜索(6)Lucene和Hibernate search

LuceneLucene是很强大的检索工具,Hibernate Search将lucene core和JPA/Hibernate ORM结合起来,当我们通过JPA添加或者修改数据时,自动在Lucene中index了entity,在检索时采用lucene core搜索引起进行搜索,并返回JPA对象实...

2018-05-29 16:59:58

阅读数:230

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭