Hibernate
工人
一个渴望进步的代码青年!
展开
-
android
完整阅读本贴,你将能够(在用户的许可之下): 1. 实现基于浏览器(无需后端支持)获取用户的地理位置技术 2. 精确定位用户的地理位置( 精度最高达10m之内,依赖设备 ) 3. 持续追踪用户的地理位置 4. 与 Google Map 交互呈现位置信息。原文地址:http://www.jsmix.com/html5/try-out-geolocation.html 本贴属于 HTML 5 技术范围...原创 2012-12-18 13:56:58 · 129 阅读 · 0 评论 -
hibernate search 自动索引
放在hibernate.hbm.xml最后:容易出现错误,不用也可,更新数据时索引也会更新 class="org.hibernate.search.event.FullTextIndexEventListener"/>原创 2012-11-07 12:24:09 · 2131 阅读 · 0 评论 -
hibernate search 类型转换桥 Bridge
BasicCar.java:@Column(name = "date")@Temporal(TemporalType.DATE)@Basic(fetch=FetchType.LAZY)@Field(name="date",index=Index.TOKENIZED,store=Store.YES)@DateBridge(resolution=Resolution.DAY)p原创 2012-11-07 12:12:31 · 1636 阅读 · 0 评论 -
hibernate search boost
在BasicCar.java:@Column(name = "name")@Field(name="BaiscCarName",index=Index.TOKENIZED,store=Store.YES)@Boost(0.1f)private String name;@Column(name = "factory" , length=50)@Field(name="fa原创 2012-11-07 09:24:20 · 603 阅读 · 0 评论 -
hibernate search 嵌入和关联实体映射
总的包图:@DocumentId//嵌入和关联实体映射这个很重要,但主体与组件的关联错误时,往往是这个没有配置@IndexedEmbedded(depth=*)设置允许关联的层次,也要本身的关联对象>=1才可以使用两层关联,如下:QueryBuilder qb = fullTextSession.getSearchFactory().bu原创 2012-11-06 21:39:37 · 2727 阅读 · 0 评论 -
hibernate annotation总结
采用hibernate 3.6 final版实验。类图:代码:Salesman.java:package basicCar.bean;import java.util.HashSet;import java.util.Set;import javax.persistence.AttributeOverride;import javax.persist原创 2012-11-06 09:36:22 · 5029 阅读 · 0 评论 -
hibernate annotation 并发操作不冲突
hibernate annotation 处理并发非常特别,只要设置乐观锁,并发操作不会发生冲突。alias.java:@Version @Column(name="version",nullable=false,unique=true) private int version;Test.java:void updateEntity() { //测原创 2012-11-05 20:20:25 · 896 阅读 · 0 评论 -
Duplicate entry '222' for key 'PRIMARY'
比如说有alias表是“值”,customer表是“实体”,设置关联时,应该把aliasId设置为主键并以customer表主键为外键,并且还要设置aliasName字段为主键,如下表,否则出错。原创 2012-10-25 23:57:18 · 1721 阅读 · 0 评论 -
手工配置hibernate需要的jar包
原文:http://blog.csdn.net/javaee_flex/article/details/6926019问题的引出:当下许多人使用MyEclipse,通过MyEclipse可以很方便的自动生成hibernate的hibernate.cfg.xml ,HibernateSessionFactory工厂类以及*.hbm.xml我也喜欢用MyEclipse来生成这些,可是作为一转载 2012-11-04 18:47:30 · 558 阅读 · 0 评论 -
hibernate java.lang.ClassNotFoundException: javax.persistence.EntityListeners
解决方案:在class path中包含hibernate-jpa-2.0-api-1.0.0.Final.jar包即可。该包可在Hibernate-distribution-3.6.0.Final/lib/目录下找到。转载 2012-11-04 12:35:21 · 1100 阅读 · 0 评论 -
Could not find a getter for salesName in class
其他的解释不说,说一个网上没有的。当数据库定义了一个属性(列),它的名称是含有大写字母的,如salesName,那么就要在**.hbm.xml文件的property的name属性为小写。如果是这样:salesName" column="salesName" type="string">将出现错误:Could not find a getter for salesName in clas原创 2012-10-25 12:14:27 · 573 阅读 · 0 评论 -
hibernate search 查询和注释
简单查询用HQL,复杂查询用CriteraCriteria查询看这:http://blog.csdn.net/happyunbound/article/details/81354071.注释映射查询只可用HQL:BasicCar.java: @Entity @Cache(usage = CacheConcurrencyStrategy.READ_WRIT原创 2012-11-07 14:41:23 · 1006 阅读 · 0 评论 -
hibernate search sort()
//把criteria加到hibQuery //setSort()排序同样要hibQuery生成之前,把true去掉就是顺序排列结果 org.apache.lucene.search.Sort sort = new Sort(new SortField("id", SortField.LONG,true)); org.hibernate.Query hibQ原创 2012-11-07 15:05:59 · 971 阅读 · 0 评论 -
android
完整阅读本贴,你将能够(在用户的许可之下): 1. 实现基于浏览器(无需后端支持)获取用户的地理位置技术 2. 精确定位用户的地理位置( 精度最高达10m之内,依赖设备 ) 3. 持续追踪用户的地理位置 4. 与 Google Map 交互呈现位置信息。原文地址:http://www.jsmix.com/html5/try-out-geolocation.html 本贴属于 HTML 5 技术范围...原创 2012-12-18 13:56:15 · 106 阅读 · 0 评论 -
hibernate 查询缓存测试出错
//看缓存是否起作用 session1.close(); Session session2 = sf.openSession(); 一般要新建两个session,要在第一个关闭后再新建第二个,否则缓存效果将没有。原创 2012-12-06 15:39:25 · 772 阅读 · 0 评论 -
if else if出错
if else if失效,所以只用if if就好了if(oldbooks !=null) { Iterator it2 = oldbooks.iterator(); while (it2.hasNext()) { Book bk2 = (Book)it2.next(); System.out.prin原创 2012-11-23 23:23:08 · 555 阅读 · 0 评论 -
hibernate 删除
在hibernate上删除不了就在mysql上删除在mysql上要加上红色的use test;delete from new_edition where new_book_id>0;原创 2012-11-23 20:47:26 · 380 阅读 · 0 评论 -
Hibernate com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'password' in
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'ft_id' in'field list'是我把fa_id写成了ft_id才出错的 @ManyToOne @JoinColumn(name = "fa_id") @Cache(usage = CacheCo原创 2012-11-15 12:34:37 · 11506 阅读 · 3 评论 -
Hibernate java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z
java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval()Z解决办法:把myeclipse javaee5的javaee.jar包通过rar打开,把persistence文件夹删除问题原因:javaee.jar中的persistenc原创 2012-11-15 12:31:12 · 1184 阅读 · 0 评论 -
hibernate search 实体映射
在实体映射,多层次关联://双向一对多Salesman.java:@OneToMany(mappedBy="salesman",cascade = CascadeType.ALL)//双向一对多@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) @ContainedInprivate Set carOrders =原创 2012-11-07 09:32:54 · 598 阅读 · 0 评论 -
hibernate search 分页(Pagination)
session = sf.openSession(); FullTextSession fullTextSession=Search.getFullTextSession(session); Transaction tx = fullTextSession.beginTransaction(); QueryBuilder qb = fullTextSessi原创 2012-11-07 14:07:49 · 1996 阅读 · 0 评论 -
hibernate 总体思路
1.从Annotation开始,做好一对多、多对多之类的映射,如:@Entity、@Table(name = "carorder1")、@Id、@Column2.各个HQL查询语句可以在annotation的java类文件里注释3.hibernate.hbm.xml配置文件要注意,每个主体类都要加进去,还有二次缓存和hibernate search的各个类4.如原创 2012-11-07 15:31:28 · 472 阅读 · 0 评论 -
值类型和动态组件
saveEntity()不能做更新,更新要在updateEntity()里面使用值类型集合的坏处是想更改某一值有点麻烦,要改就要全部改再全部存起来。使用值类型不用建立映射文件,只需要在实体POJO和映射文件上说明即可;使用动态组件不用建立映射文件,只需要在实体POJO和映射文件上说明即可.二者都是要新建表。//下面是动态组件的表动态组件的不用新建表,只需要在实体表上加入字段即可原创 2012-10-26 09:05:54 · 396 阅读 · 0 评论 -
hibernate Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException
方法:添加ehcache.jar(高速缓存,提高存取速度)原创 2012-11-04 12:36:14 · 926 阅读 · 0 评论 -
Cascade属性的取值
Cascade属性的取值有:1、none:忽略其他关联的对象,默认值。2、save-update:当session通过save(),update(),saveOrUpdate()方法来保存或更新对象时,级联保存所有关联的新建的临时对象,并且级联更新所有关联的游离对象。3、persist:当session通过persist()方法来保存当前对象时,会级联保存所有关联的新建的临时对象。转载 2012-10-31 14:04:14 · 3079 阅读 · 0 评论 -
一个持久化类对应多张表
Customer.java:private Set oldOrders=new HashSet();//private Set newOrders=new HashSet();// CarOrder.java:private String carName;private Customer customer; 新建两张表:carorder_old和carorder_原创 2012-10-31 13:56:18 · 1042 阅读 · 0 评论 -
hibernate 自定义类型(地址)
自定义类型和动态组件都是在一张数据表(customer)里面操作的。AddressType1.java:package basicCar.bean;import java.io.Serializable;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLExcep原创 2012-10-31 10:41:16 · 574 阅读 · 0 评论 -
自定义类型(邮箱)
EmailListType1.java:package basicCar.bean;import java.io.Serializable;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Types;impor原创 2012-10-31 12:52:02 · 956 阅读 · 0 评论 -
hibernate 映射值类型小结
值和实体,像客户和地址一样,有三种解决方案:第一种:如果只需要一个地址,比如省、市、街道、门牌号,我们可以把这几个字段放到customer表里面,然后才去动态组件或者自定义值类型(不如前者方便),动态组件可以更改其中任何字段:customer.getSaddress().get("city"),自定义值类型的话:String ie = customer.getEmail().get(1).to原创 2012-10-31 12:18:47 · 357 阅读 · 0 评论 -
List 集合元素
需要两张数据表,customer表和alias(别名)表。customer.hbm.xml:<!-- 集合元素,List --> customer.java://使用list来存放值集合 private List aliases=new ArrayList();public void setAlias原创 2012-10-30 21:42:19 · 865 阅读 · 0 评论 -
hibernate org.hibernate.PropertyNotFoundException
有可能是<propertyname="saddress" type="basicCar.bean.AddressType1">出错,改正过来就好了原创 2012-10-31 10:27:58 · 597 阅读 · 0 评论 -
一对多、一对一、多对多类图
原创 2012-10-31 08:18:12 · 18072 阅读 · 0 评论 -
sort排序
对于、、等存储的值对象是没有一定顺序的集合元素,使用sort排序:自定义一个按字符串排序集合中的字符串:ReverseStringComparator.java:package basicCar.bean;/*该类用于给属性sort的取值,ReverseStringComparator实现了java.util.Comparator接口的类, * sort使用后可以对值集合的原创 2012-10-30 21:34:59 · 297 阅读 · 0 评论 -
关于导入类,的问题
在编写一些java.util类型上,有时候Myeclipse并没有提示导入某些类,但是它就是提示错误,我们试着自己用另外一种方法导入或许奏效:如:List aliases = new ArrayList();//提示错误java.util.List aliases = new ArrayList();//提示错误原创 2012-10-30 20:53:57 · 308 阅读 · 0 评论 -
QBC查询
Criteria接口:用来设置各种查询条件的1.Criterion 是 Criteria 的查询条件。2.Criteria 提供了 add(Criterion criterion) 方法来添加查询条件。3.Criterion 的实例可以通过 Restrictions 工具类来创建, Restrictions 提供了大量的静态方法,如 eq(等于)、 ge (大于等于)、 b原创 2012-11-01 10:26:49 · 7073 阅读 · 1 评论 -
检索策略
可以延迟加载的配置组合:⑴关联实体的载入策略(one-to-one或many-to-onelazy决定关联实体什么时候载入 (proxy|false)fetchjoin:使用连接查询检索对象;select(默认):抓取在前面查询到的所有实体对象的关联对象 类级别:在调用load函数时延迟有效,g原创 2012-11-01 10:51:10 · 573 阅读 · 0 评论 -
二级缓存和查询缓存
对类对象进行缓存:Customer.hbm.xml: *** Account.hbm.xml: void queryEntity2() //测试二级缓存和查询缓存 { Session session1 = sf.openSession(); try{ Query query =原创 2012-11-01 22:06:23 · 971 阅读 · 0 评论 -
hibernate 拦截器和事件框架
注册监听器:MyPreInsertListener.java:package eventListener;import org.hibernate.event.PreInsertEvent;import org.hibernate.event.PreInsertEventListener;import basicCar.bean.Account;public class原创 2012-11-02 12:01:37 · 4639 阅读 · 0 评论 -
1005错误解决办法
1005错误解决办法:use test;create table number(nid bigint(20) not null primary key, homeNumber varchar(20),workNumber varchar(20),mobileNumber varchar(20),linkmanNumber varchar(20), foreign key(nid) refe原创 2012-10-18 23:10:54 · 17180 阅读 · 0 评论 -
attempted to assign id from null one-to-one property:
java.lang.String cannot be cast to java.lang.Long在hbm.xml文件里面: 把long改成string就好了。 long"> attempted to assign id from null one-to-one property:Customer ss = new Customer(原创 2012-10-19 14:13:51 · 2928 阅读 · 0 评论