Hibernate
文章平均质量分 55
种子之家
程序人生,人生程序
展开
-
2.Hibernate首例:映射文件
/Interview/src/com/bjpowernode/hibernate/User.hbm.xml<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd原创 2012-08-29 08:40:57 · 334 阅读 · 0 评论 -
5.Hibernate首例:hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> com.mysql.jdbc.Driver jdbc:mys原创 2012-08-29 08:41:19 · 1360 阅读 · 0 评论 -
3.Hibernate首例:把hbm生成ddl
package com.bjpowernode.hibernate;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;/** * 将hbm生成ddl * @author Administrator * */public class ExportDB {原创 2012-08-29 08:41:05 · 967 阅读 · 0 评论 -
Hibernate是否是发sql,是否会commit
对数据库的insert\delete\update\select,只有insert\delete\update才有是否自动committ的概念,select没有,对于Hibernate的save\delete\update,无论是否会发出sql,他们默认情况下是不会自动commit的,比如调用session.save(user),Hibernate是不会把user存到数据库中去的,至于原创 2012-08-30 08:37:03 · 551 阅读 · 0 评论 -
1.把hbm转化为DDL有两种方式:第一种是ExportDB,对象,hbm
把hbm转化为DDL有两种方式,第一种是ExportDB代码如下://默认读取hibernate.cfg.xml文件Configuration cfg = new Configuration().configure();SchemaExport export = new SchemaExport(cfg);export.create(true, true);这办法有原创 2012-08-30 08:38:13 · 627 阅读 · 0 评论 -
5.把hbm转化为DDL有两种方式:总结
hibernate基本映射实体类---表,采用标签映射实体类中的普通属性(不包括集合、自定义类和数组)---表字段,采用标签映射注意:如果实体类的名称或实体类中属性的名称和数据库关键字重复,将会出现问题 可以考虑采用table属性和column属性对其进行重新命名实体类的设计原则:* 实现无参的默认的构造函数* 提供一个标识* 建议不要使原创 2012-08-30 08:38:39 · 594 阅读 · 0 评论 -
1.多对一(用户对组):对象,bhm
package com.bjpowernode.hibernate;public class Group { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public Stri原创 2012-08-30 08:38:52 · 360 阅读 · 0 评论 -
7.Hibernate首例:总结
第一个hibernate项目1、创建java项目2、创建User Library,加入依赖包* HIBERNATE_HOME/lib/*.jar* HIBERNATE_HOME/hibernate3.jar* 加入数据库驱动(mysql驱动)3、提供hibernate.cfg.xml文件,完成基本的配置4、建立实体类User.java原创 2012-08-30 08:36:58 · 362 阅读 · 0 评论 -
2.测试持久化对象的状态:把hbm转化为DDL,Hibernate连接数据库工具类
package com.bjpowernode.hibernate;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;/** * 将hbm生成ddl * @author Administrator * */public class ExportDB {原创 2012-08-30 08:37:24 · 351 阅读 · 0 评论 -
4.测试持久化对象的状态:测试
package com.bjpowernode.test;import java.util.Date;import junit.framework.TestCase;import org.hibernate.Session;import org.hibernate.Transaction;import com.bjpowernode.hibernate.HibernateUtil原创 2012-08-30 08:37:46 · 337 阅读 · 0 评论 -
Hibernate主键策略
主键策略uuid Hibernate生成唯一的长长字符串assigned 手动输入identity 对于MySQL 和 SQL Server来说,identity就是自增,对于Oracle来说,会报错sequence 这是Oracle的主键生成方式,虽然也是自增,但是增幅可以自定义native 对于MySQL 和 SQL Server来说,native就是identity,对于原创 2012-08-30 08:38:06 · 298 阅读 · 0 评论 -
2.把hbm转化为DDL有两种方式:第一种是ExportDB,hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> com.mysql.jdbc.Driver jdbc:mys原创 2012-08-30 08:38:19 · 467 阅读 · 0 评论 -
总结session.save(user)
如果user的策略跟数据库无关,比如说采用uuid的策略,这种情况下,save是不会发出sql的,因为Hibernate默认是不自动提交,所以最后不发sql,数据库也没有数据.如果user的策略跟数据库有关,比如说采用native的策略,这种情况下,save是会发出sql的,数据库暂时有了数据,(能不能看到?这跟事务的隔离级别有关)但若是最终没有提交,数据库还是没有数据.原创 2012-08-30 08:38:48 · 814 阅读 · 0 评论 -
2.多对一(用户对组):两个工具类
package com.bjpowernode.hibernate;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class HibernateUtils { private static SessionFa原创 2012-08-30 08:38:58 · 381 阅读 · 0 评论 -
3.多对一(用户对组):hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> com.mysql.jdbc.Driver jdbc:mys原创 2012-08-30 08:39:06 · 312 阅读 · 0 评论 -
5.测试持久化对象的状态:测试(对HQL和Query的初步认识)
package com.bjpowernode.test;import java.util.Iterator;import java.util.List;import junit.framework.TestCase;import org.hibernate.Query;import org.hibernate.Session;import com.bjpowernode.hi原创 2012-08-30 08:37:52 · 375 阅读 · 0 评论 -
6.测试持久化对象的状态:总结
junit简介:* 编写测试类XXTest,需要继承TestCase* 编写单元测试方法,方法名称必须为test开头,方法没有参数没有返回值,采用public修饰* 最好采用单独的目录存放测试程序* 建议使用断言掌握HIbernate的CRUD操作必须掌握get和load方法的差别?* get不支持lazy,load在默认情况下支持lazy* get原创 2012-08-30 08:38:01 · 306 阅读 · 0 评论 -
1.测试持久化对象的状态:对象,com/bjpowernode/hibernate/User.hbm.xml
package com.bjpowernode.hibernate;import java.util.Date;public class User { private String id; private String name; private String password; private Date createTime; private Date expireT原创 2012-08-30 08:37:18 · 746 阅读 · 0 评论 -
3.测试持久化对象的状态:hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> com.mysql.jdbc.Driver jdbc:mys原创 2012-08-30 08:37:34 · 308 阅读 · 0 评论 -
3.把hbm转化为DDL有两种方式:第一种是ExportDB,执行ExportDB
package com.bjpowernode.hibernate;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.SchemaExport;/** * 将hbm生成ddl * @author Administrator * */public class ExportDB {原创 2012-08-30 08:38:25 · 729 阅读 · 0 评论 -
4.把hbm转化为DDL有两种方式:第二种是创建SessionFactory
这种办法只要在Hibernate配置文件中写上update那么当创建一个表时,Hibernate并不会去删掉其他的表,代码如下package com.bjpowernode.hibernate;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg原创 2012-08-30 08:38:31 · 435 阅读 · 0 评论 -
4.多对一(用户对组):测试
package com.bjpowernode.hibernate;import junit.framework.TestCase;import org.hibernate.Session;public class Many2OneTest extends TestCase { public void testSave1() { Session session = null;原创 2012-08-30 08:39:13 · 412 阅读 · 0 评论 -
1.Hibernate首例:对象
package com.bjpowernode.hibernate;import java.util.Date;public class User { private String id; private String name; private String password; private Date createTime; private Date exp原创 2012-08-29 08:40:50 · 369 阅读 · 0 评论 -
4.Hibernate首例:插入数据save
package com.bjpowernode.hibernate;import java.util.Date;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class Client { public s原创 2012-08-29 08:41:12 · 2737 阅读 · 0 评论 -
6.Hibernate首例:log4j.properties
### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog原创 2012-08-29 08:41:28 · 366 阅读 · 0 评论 -
1.一对一单向主键关联(人对身份证) 对象,hbm
package com.bjpowernode.hibernate;public class IdCard { private int id; private String cardNo; public int getId() { return id; } public void setId(int id) { this.id = id;原创 2012-09-16 10:26:37 · 391 阅读 · 0 评论 -
2.一对一单向主键关联(人对身份证) 工具类
package com.bjpowernode.hibernate;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class HibernateUtils { private static SessionFa原创 2012-09-16 11:33:47 · 384 阅读 · 0 评论 -
5.hql条件查询:总结
hibernate查询语言hql在hql中关键字不区分大小写,通常小写,类的名称和属性名称必须区分大小写1、简单属性查询【重要】 * 单一属性查询,返会属性结果集列表,元素类型和实体类中相应的类型一致 * 多个属性查询,多个属性查询返会对象数组,对象数组的长度取决于属性的个数 对象数组中元素的类型取决于属性在实体类中的类型 * 如果认为返会数组不够对象化,可以使用h原创 2016-03-31 14:08:42 · 1188 阅读 · 0 评论 -
4.hql条件查询:测试
package com.bjpowernode.hibernate;import java.text.SimpleDateFormat;import java.util.Date;import org.hibernate.Session;public class InitData { public static void main(String[] args)原创 2016-03-31 14:09:15 · 321 阅读 · 0 评论 -
3.hql条件查询:hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> com.mysql.jdbc.Driver j原创 2016-03-31 14:09:42 · 197 阅读 · 0 评论 -
2.hql条件查询:工具类
package com.bjpowernode.hibernate;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class HibernateUtils { private static SessionFa原创 2016-03-31 14:10:01 · 241 阅读 · 0 评论 -
1.hql条件查询:Object,hbm
package com.bjpowernode.hibernate;import java.util.Set;public class Classes { private int id; private String name; private Set students; public int getId() { return id; } public vo原创 2016-03-31 14:10:26 · 280 阅读 · 0 评论 -
5.hql查询实体:总结
hibernate查询语言hql在hql中关键字不区分大小写,通常小写,类的名称和属性名称必须区分大小写1、简单属性查询【重要】 * 单一属性查询,返会属性结果集列表,元素类型和实体类中相应的类型一致 * 多个属性查询,多个属性查询返会对象数组,对象数组的长度取决于属性的个数 对象数组中元素的类型取决于属性在实体类中的类型 * 如果认为返会数组不够对象化,可以使用h原创 2016-03-31 14:10:52 · 231 阅读 · 0 评论 -
3.一对一单向主键关联(人对身份证) hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> com.mysql.jdbc.Driver jdbc:mys原创 2016-03-25 14:10:41 · 294 阅读 · 0 评论 -
4.一对一单向主键关联(人对身份证) 测试
package com.bjpowernode.hibernate;import org.hibernate.Session;import junit.framework.TestCase;public class One2OneTest extends TestCase { public void testSave1() { Session session = null;原创 2016-03-25 14:11:44 · 392 阅读 · 0 评论 -
5.一对一单向主键关联(人对身份证) 总结
hibernate一对一主键关联映射(单向关联Person----->IdCard)一对一关联映射原理:让两个实体的主键一样,这样就不需要加入多余的字段了idCardone-to-one指示hibernate如何加载其关联对象,默认根据主键加载也就是拿到关系字段值,根据对端的主键来加载关联对象constrained="tr原创 2016-03-25 14:11:51 · 1309 阅读 · 0 评论 -
1.一对一双向主键关联(人对身份证) 对象,hbm
package com.bjpowernode.hibernate;public class Person { private int id; private String name; private IdCard idCard; public int getId() { return id; } public void setId(int id) { thi原创 2016-03-25 14:12:09 · 360 阅读 · 0 评论 -
2.一对一双向主键关联(人对身份证) 工具类
package com.bjpowernode.hibernate;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class HibernateUtils { private static SessionFa原创 2016-03-25 14:17:14 · 211 阅读 · 0 评论 -
3.一对一双向主键关联(人对身份证) hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> com.mysql.jdbc.Driver jdbc:mys原创 2016-03-25 14:20:54 · 188 阅读 · 0 评论 -
4.一对一双向主键关联(人对身份证) 测试
package com.bjpowernode.hibernate;import org.hibernate.Session;import junit.framework.TestCase;public class One2OneTest extends TestCase { /** * 因为是双向的缘故,查找idcard时,可以找到相应的person */ public原创 2016-03-25 14:21:10 · 260 阅读 · 0 评论