`
文章列表
java 代码 import org.apache.commons.lang.builder.EqualsBuilder;    import org.apache.commons.lang.builder.HashCodeBuilder;       // default package               /**    * User generated by MyEclipse - Hibernate Tools    */      public class  ...
commons.lang可以作为第三方的一个包提供了许多好用的方法,比如:我们重写equals和hascode方法的时候,利用它可以很方便的写. 实际上是对java.lang包的一个扩充. Common Lang顾名思义,是对java.lang包的扩充,它包括对语言的辅助(toString,Equal等等的Builder),对C Style枚举类型的支持,对异常的扩充,还有对Time和Math类的改进。尤其是其中StringUtils和WordUtils,使得Java操作字符串更加方便。 有时间需要好好读下.
java 代码 public class User  implements java.io.Serializable {              // Fields                private UserId id;         private String email;              // Constructors           /** default constructor */       public User()  ...
  hiberante中使用复合主键 对于新系统的设计开发而言,我们应尽量避免在库表中引入与业务逻辑相关的主键关系。将业务逻辑主键引入库表,以后业务逻辑的变化,将很可能对底层数据库结构产生连带影响。复合主键的引入,很大程度上意味着业务逻辑已经侵入到数据存储逻辑之中。因此,应尽量避免。但实际情况中,我们必须面对遗留系统的旧表开发,这时,对现有复合主键的支持就非常必要。 hibernate中,通过composite-id节点对复合主键进行定义。 我们可以通过两种形式确定主键: 1)基于实体类属性的复合主键 2)基于主键类的复合主键 下面通过例子看一下两种方式的用法。 我们建一个用户表user( ...
    发布时间:2007.08.14 06:06     来源:赛迪网    作者:dxaw 对于sess ...
Hibernate加载数据时get和load方法的区别,让我们先看一下方法原型吧: 1.get方法  /**   * Return the persistent instance of the given entity class with the given identifier,   * or null if there is no such persistent instance. (If the instance, or a proxy for the   * instance, is already associated with the session, return that  ...
今天面试,问我数组和arrayList有什么区别? 我答不上来. 一、数组与ArrayList的主要区别:效率、类型识别和primitive type。 数组([]):最高效;但是其容量固定且无法动态改变; ArrayList:容量可动态增长;但牺牲效率; 建议: 首先使用数组,无法确定数组大小时才使用ArrayList! 1.效率: 数组扩容是对ArrayList效率影响比较大的一个因素。 每当执行Add、AddRange、Insert、InsertRange等添加元素的方法,都会检查内部数组的容量是否不够了,如果是,它就会以当前容量的两倍来重新构建一个数组,将旧元素Copy到新数组中,然 ...
  type属性:由于java的类型与sql类型并不是一一对应的,所以hibernate提供了自己的映射类型,作为java类型和sql类型的桥梁。这里type属性可以指定为Hibernate映射类型,也可以指定为一个java类的名字。
  <id>元素中的<generator>用来为该持久化类的实例生成唯一的标识,hibernate提供了很多内置的实现。 Increment:由hibernate自动递增生成标识符,用于为long, short或者           int类型生成唯一标识。 identity :由底层数据库生成标识符(自动增长),返回的标识符是          long, short 或者int类型的。 sequence :hibernate根据底层数据库序列生成标识符,返回的标识符          是long, short或者 int类型的。 hilo     ...
<p:colorscheme colors="#ffffff,#666699,#c0c0c0,#000066,#49cacd,#467ce8,#000066,#878fa5"></p:colorscheme>   映射文件中主要包括三个部分:持久化类名与数据库表名的映射,id属性与主键的映射,持久化类属性与表中字段的映射。
JUnit源码分析 (三)——Template Method模式     在JUnit执行测试时,我们经常需要初始化一些环境供测试代码使用,比如数据库连接、mock对象等等,这些初始化代码应当在每一个测试之前执行并在测试方法运行后清理。在JUnit里面就是相应的setUp和tearDown方法。如果没有这两个方法,那么我们要在每个测试方法的代码内写上一大堆重复的初始化和清理代码,这是多么愚蠢的做法。那么JUnit是怎么让setUp和tearDown在测试执行前后被调用的呢?     如果你查看下TestCase方法,你会发现TestCase和TestSuite的run()方法都是将执行测试的任 ...
  1)程序中调用net.sf.hibernate.Transaction的commit()方法的   时候 2)程序中调用session的find()或iterate()时 3)程序中显示调用session的flush()方法时
在Hibernate中session主要是用来操作数据库  Hibernate在操作数据库前需要得到Session的实例,这个类似于jdbc中的Connection。 获得Session的方法如下: Session session = sessionFactory.openSession(); 通过Session对象可以对数据库进行增删改查的操作,对应的方法分别为:save(),delete(),update(),saveOrUpdate(),load(),get()。 在Hibernate 3中,取消了find()方法,必须通过Query或Criteria来进行查询。
  1)临时状态   New,delete()   不在session的缓存中,数据库中无对应的数据。 2)持久化状态   Save() 临时->持久   load(),get() 返回持久   update(),saveOrUpdate(),lock() 游离->持久   在session的缓存中,数据库中有对应的数据。 3)游离状态   Clear(),Close() 全部 持久->游离   Evict() 一个 持久->游离   不在session的缓存中,数据库中可能存在对应的数据
<p:colorscheme colors="#ffffff,#666699,#c0c0c0,#000066,#49cacd,#467ce8,#000066,#878fa5"></p:colorscheme>   Java类型 Hibernate映射类型 SQL类型 ...
Global site tag (gtag.js) - Google Analytics