hibernate_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> hibernate >>列表
由于公司项目的需要,我对Hibernate对多表关联查询研究了一下,现总结如下,供朋友参考。一、Hibernate简介Hibernate是一个JDO工具。它的工作原理是通过文件(一般有两种:xml文件和properties文件)把值对象和数据库表之间建立起一个映射关系。这样,我们只需要通过操作这些值对象和Hibernate提供的一些基本类,就可以达到使用数据库的目的。例如,使用Hibernate的查询,可以直接返回包含某个值对象的列表(List)... 查看全文
由于公司项目的需要,我对Hibernate对多表关联查询研究了一下,现总结如下,供朋友参考。一、Hibernate简介Hibernate是一个JDO工具。它的工作原理是通过文件(一般有两种:xml文件和properties文件)把值对象和数据库表之间建立起一个映射关系。这样,我们只需要通过操作这些值对象和Hibernate提供的一些基本类,就可以达到使用数据库的目的。例如,使用Hibernate的查询,可以直接返回包含某个值对象的列表(List)... 查看全文
第一部分:Hibernate入门Hibernate是什么Hibernate是一个轻量级的ORMapping框架ORMapping原理(ObjectRelationalMapping)ORMapping基本对应规则:1:类跟表相对应2:类的属性跟表的字段相对应3:类的实例与表中具体的一条记录相对应4:一个类可以对应多个表,一个表也可以对应对个类5:DB中的表可以没有主键,但是Object中必须设置主键字段6:DB中表与表之间的关系(如:外键)映射成为Object之间的关系7... 查看全文
· hibernate的关系映射发布时间:2013-12-02
数据库中的表是通过外键来关联数据库中的表,hibernate中JAVA对象之间的关系与数据库中表的关系是一样的,因为一个JAVA对象映射到数据库中就是一张表,数据库中实体的关系就有一对一,一对多,多对多,hibernate中对象的关系既有单向的关联,也有双向的关联。Hibernate中对象的映射使用注解的方式,可以很轻松就完成映射关系,只需通过@OneToOne就可以映射一个一对一的关系,使用@OneToMany就可以映射一个一对多的关系,使用@ManyToMany就可以完成多对多的关系映射... 查看全文
· Hibernate继承映射发布时间:2013-11-28
继承映射分为三种情况1.每个子类一张表比如说有一个Person父类,有一个Student子类,一个Teacher子类。假如我们操作的都是Student子类或者Teacher子类,就要为Teacher和Student各建立一张表。Person类中有一些属性,被Student和Teacher继承下来。而Student和Teacher有自己的属性,比如salaray和score.类声明:/***Person作为父类*/publicclassPerson{privateStringid... 查看全文
摘自圣思园Hibenrate26.组件映射深度解析-37分钟文件:Student.java,Contact.java,Student.hbm.xmlStudent.javapublicclassStudent{privateStringid;privateStringname;privateSetcontacts=newHashSet();}publicclassContact{privateStringmethod;privateStringaddress;}Student.hbm... 查看全文
摘自圣思园Hibernate26.组件映射深度解析上一篇讲了如何通过配置Student实现Serializable接口来实现复合主键查询。http://alleni123.iteye.com/admin/blogs/1981608这里要讲一下如何通过组件来完成同样的功能。先新建一个StudentPrimaryKey.javapackagecomposite_primary;importjava.io.Serializable... 查看全文
· DataVeryLite和Nhibernate性能对比发布时间:2013-11-25
电脑型号:acer4752g电脑配置:代码分享:1classProgram2{3staticvoidMain(string[]args)4{5Debug.Listeners.Add(newConsoleTraceListener());6ShowExecuteTime("dataverylteBatch",()=>DataVeryLiteInsertBatch());78ShowExecuteTime("dataverylte",()=>DataVeryLiteInsert())... 查看全文
· Hibernate的Map配置发布时间:2013-11-23
摘自圣思园022.Hibernate映射Map详解应用场景:这里有一个Team类和一个Student类,Team类代码如下:publicclassTeam{privateStringid;privateStringteamName;/***将学生对象集合定义为一个map*/privateMapstudents=newHashMap();}一个team中可以包含多个student,这些student被放在一个map集合中。此时生成的数据库表格就是:Team->id,nameStudent... 查看全文
org.hibernate.PropertyValueException:not-nullpropertyreferencesanullortransientvalueatorg.hibernate.engine.internal.Nullability.checkNullability(Nullability.java:103)atorg.hibernate.action.internal.AbstractEntityInsertAction... 查看全文
Hibernateload方法引起的javaequal方法失效的问题前段时间在一个业务代码中,发现java对象的equal方法无论如何不起作用,判断结果始终是不相等。最后仔细排查,发现原来是hibernate的load方法间接导致了该问题的发生。众所周知,Hibernate根据id加载对象有两套方法。一套是get,一套是load。如果不了解这两个方法的区别,很可能导致陷入一些意想不到的陷阱。通过查阅官方API,我简单总结下它们最主要的两个区别:在不存在以该id缓存的对象时... 查看全文
· hibernate自身双向一对多发布时间:2013-11-19
数据库Schema:(Oracle)createtabletest_categories(IDnumber(15)notnull,namevarchar2(15),category_idnumber(15),primarykey(id));altertablecategoriesaddindexidx_category_id(category_id),addconstraintfk_category_idforeignkey(category_id)referencescategories... 查看全文
Sessionsession=HibernateUtil.openSession();Transactiontx=null;tx=session.beginTransaction();Useruser=(User)session.load(User.class,564);session.delete(user);tx.commit();session.close();<setname="orders"cascade="save... 查看全文
Sessionsession=HibernateUtil.openSession();Transactiontx=null;tx=session.beginTransaction();Useruser=(User)session.get(User.class,538);System.out.println(user.getId());tx.commit();session.close();System.out.println(user.getName());Hibernate在使用get方法时... 查看全文
Causedby:org.hibernate.MappingException:Associationreferencesunmappedclass:com.lj.zhang.Orderatorg.hibernate.cfg.HbmBinder.bindCollectionSecondPass(HbmBinder.java:2521)atorg.hibernate.cfg.HbmBinder$CollectionSecondPass.secondPass(HbmBinder.java:2807... 查看全文
· hibernate与mybatis访如何选择发布时间:2013-11-13
最近发现不少人问我到底是用hibernate好,还是用mybatis好。大家都知道hibernate用来做简单的增删改查(数据量不是特别大)对性能要求不是特别高的项目,是非常适合的,且移植性好。用mybatis由于sql是半自化的,在查询性能上能够很好的控制,但在系统移植上、开发效率上却差于hibernate。对于以上情况,要是一个项目用hibernate来处理简单的增删改查,用mybaties来解决对性能有要求的操作,那么在开发效率、系统性能、移植性上都能够得到很好的保证... 查看全文
Blob类型是一个二进制格式的类型。http://baike.baidu.com/link?url=Qsh_DL70A6q2CDvAmAx3l66XgwwjAX63wmiEYN1CPqtaxg1AesIv2gpZ_oY5QM4sp-BPo5p14-tTdViz5E8kT_通过hibernate我们可以将输入流转换转换成java.sql.Blob类型对象。具体如下:publicclassHibernateTest{privatestaticSessionFactorysessionFactory... 查看全文
· hibernate 延迟加载 (转)发布时间:2013-11-11
Hibernae的延迟加载是一个非常常用的技术,实体的集合属性默认会被延迟加载,实体所关联的实体默认也会被延迟加载。Hibernate通过这种延迟加载来降低系统的内存开销,从而保证Hibernate的运行性能。下面先来剖析Hibernate延迟加载的“秘密”。集合属性的延迟加载当Hibernate从数据库中初始化某个持久化实体时,该实体的集合属性是否随持久化类一起初始化呢?如果集合属性里包含十万,甚至百万的记录,在初始化持久化实体的同时,完成所有集合属性的抓取,将导致性能急剧下降... 查看全文
· HIbernate的单例例子发布时间:2013-11-10
publicfinalclassXMLHelper{publicstaticfinalEntityResolverDEFAULT_DTD_RESOLVER=newDTDEntityResolver();privateDOMReaderdomReader;privateSAXReadersaxReader... 查看全文
通常我们使用Hibernate的时候,首先要通过以下的代码去创建一个Session.Configurationcon=newConfiguration().configure();ServiceRegistrysr=newServiceRegistryBuilder().applySettings(con.getProperties()).buildServiceRegistry();SessionFactoryfactory=con.buildSessionFactory(sr)... 查看全文