`
cxshun
  • 浏览: 726281 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
我们学习了hibernate的一对一和一对多,下面就剩下一个多对多啦,这次我们就来学习一下它的多对多关联映射。 废话不多说,直接上代码: 这次我们举的例子是Group和Role,一般情况下,我们一个组可以对应多个角色,同时一个角色也可以对应多个组。 先看一下实体类代码: public class TGroup implements Serializable{ private static final long serialVersionUID = 1L; private int id; private String name; private Set< ...
看了一对一的实现之后,我们来看一下hibernate中一对多的实现,实际上还是不难的,只是有些概念第一次用时比较难理解。 废话不多说,直接上代码: 先看一下实体类: public class Address implements Serializable{ private static final long serialVersionUID = 1L; private int id; private String address; private String zipcode; private String tel; private String ty ...
上次我们说了hibernate关联映射中的一对一关联,我们是通过两个表的主键来进行关联。这次我们看一下通过外键来进行关联的一对一关联。 还是一贯的直接上例子:我们写了两个实体类,TGroup和TUser public class TGroup implements Serializable{ private static final long serialVersionUID = 1L; private int id; private String name; private TUser user; //省略Get/Set方法 } public ...
作为一个ORM框架,hibernate肯定也需要满足我们实现表与表之间进行关联的需要。hibernate在关联方法的实现很简单。下面我们先来看看一对一的做法: 不多说了,我们直接上代码: 两个实体类,TUser和TPassport: public class TUser i ...
昨天我们了解了怎么使用hibernate来进行层次设计,今天我们再来了解另外一种方法实现层次设计,这就是通过在表内置入标志来实现。在hibernate的映射文件中我们通过descriminator标签来进行实现。 废话不多说,我们直接看例子 ...
这次我们来说一下hibernate的层次设计,层次设计也就是实体之间的继承关系的设计。 也许这样比较抽象,我们直接看例子。 1)我们先看一下普通的做法 直接上代码:三个实类如下: public class TItem implements Serializable{ //省略Get/Set方法 private int id; private String manufacture; private String name; } public class TBook extends TItem{ //省略Get/Set方法 p ...
昨天讲了自定义类型中会出现异常,今天我们就来解决一下异常,文章可以看这里:http://cxshun.iteye.com/blog/1052287。试过版本3.0.1和3.6.0都出现异常,因此可以肯定应该不是3版本的问题,可能是2版本和3版本中某些东西出现比较大的变化了。这个不深究了,毕竟我们已经很少用2了。 现在讲一下解决那个问题的方法。 看到我们的EmailList类 package org.hibernate.tutorial.domain; import java.io.Serializable; import java.sql.PreparedStatement; ...
从去年2月参加实习到现在已经差不多一年半没有碰三大框架啦,面对这三个庞然大物,看着真的有点心虚,要学通还真是要花不少的时间,但再困难也还是要去学习的,还是老老实实一步步走。 最近下了一本夏昕的《深入浅出hibernate》,不得不说这是一本好书,是国内难得的一本技术书。它不仅介绍了hibernate的用法,还讲解了基本的实现原理,一步步深入。 开始重新学习hibernate啦,希望和我一样公司没有用三大框架的也自己学习一下,毕竟这三大框架的设计思想是非常好的。 基本的这里就不多讲了,最近看到hibernate的自定义类型,这个以前没接触过,在这里记录一下,当是对自己知识的巩固,也让 ...
这几天的回顾NUTCH项目的过程中,需要对lastModified进行搜索,这下就痛苦啦,用lucene的用法lastModified:[20110101-20120111]拼命的搜啊,搜啊。无耐国足不给力啊,始终搜不出来。于是只能开源代码,拼命地看,总算找到了插件那里实现了搜索的功能。 每一个基本的非范围搜索都可以由NUTCH来实现,但当我们希望它可以实现范围搜索的时候,我们就需要自己实现插件来完成这个功能。 1)我们查看插件的组织目录,发现NUTCH把很多功能都作为插件来进行插入: 2)我们可以看到conf文件夹内的nutch-default.xml文件,打开它,我们可以 ...
经过了几天的折磨solr,公司又要求修改以前的一个nutch项目,这次修改的东西比较多了,涉及到索引字段和日期索引等,这个我们下次再讲,今天我们来讲一下nutch的中文分词。这时,我还是用了IKAnalyzer,再次感谢作者的辛劳。提醒一下,这时用到的NUTCH是1.2版本。 废话不多说,我们现在开始进入正题: 1)在我们修改之前,我们先去下载一个工具,javacc,一个JAVA编译器,可以到这里来下载,http://java.net/projects/javacc/downloads,下载完成后当然要解压啦(废话,呵呵),然后设置path把解压的路径添加到后面,确定可以从cmd进入。 ...
前几次我们讲到了solr的基本用法和配置文件,接下来就开始进入我们真正的代码之旅啦。 1)首先以一个简单的程序来开头: public static void main(String[] args) throws SolrServerException, IOException, ParserConfigurationException, SAXException{ //设置solr.home,注意这时通过环境变量是solr.solr.home System.setProperty("solr.solr.home","E ...
前两天,学习了solr的基本用法,接下来我们就开始真正来学习一下solr。学习一下它的文件结构,配置文件等。 以我们现在学习的阶段,最重要的文件夹就是example文件夹,这个里面包含了许多我们要学习的东西。 我们再来看 ...
接着上篇http://cxshun.iteye.com/blog/1039445,我们讲了怎么初始化配置solr,并运行。问题来了,当我们配置完成后,索引当中并没有任何东西,就是说我们查询得到的结果永远是0。 现在这篇文章,我们要讲的就是如果添加数据和删除数据,并体验一下solr的基本请求参数的用法。 1)首先,我们必须知道,solr添加数据类型可以有多种格式,最常用的是XML和JSON,这两种的可读性是最好的。在solr的example/exampledocs文件夹内有自带一些XML格式的文件,便于我们进行添加数据。 首先呢,又是一些废话,当然是启动example自带的jet ...
由于工作原因,这段时间接触到solr,一个基于lucene的企业级搜索引擎。不怎么了解它的童鞋可以去GOOGLE一下。 下面开始正题: 1)要开始solr的学习,首先当然是要下载它啦(这是一句废话),可以到http://www.apache.org/dyn/closer.cgi/lucene/solr/这里去下载,最新的是1.4.1。下完后当然要解压啦(这也是废话)。我们看到它的结构是这样的。  相信搞JAVA的同志们应该都大概了解对应的文件夹的意思啦,在dist里面是它的一些JAR包,当中包含了一个war包,这个是我们做例子时用到的项目。直接把它丢到tomcat的webapps ...
一直以来做项目都是用@include,很少去用到JSP:include,最近一段时间重新学习了一些JSP相关的知识,包括过滤器等等,认识到了自己的许多不足,在这里记录下。 1、JSP:include,它有一个属性为page,这里的page可以是相对路径,也可以是绝对路径(是相对于当前项目的路径,也即是它会自动帮你在当前项目中去找)。比如我现在的项目是JSPTest,我在page里面写了/page/index.jsp,这里JAVA应用服务器就会到JSPTest项目下去查找page/index.jsp,这是相对于本项目的。 JavaEye上一位朋友说了:(在这里可以看到http://www ...
Global site tag (gtag.js) - Google Analytics