浏览 3433 次
锁定老帖子 主题:入门例子介绍
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2004-03-30
hibernate.cfg.xml: <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property> <property name="hibernate.connection.url">jdbc:Microsoft:sqlserver://192.168.100.2:1433;databasename=HENRY;SelectMethod=cursor</property> <property name="hibernate.connection.username">sa</property> <property name="hibernate.connection.password">123456</property> <property name="dialect">net.sf.hibernate.dialect.SybaseDialect</property> <property name="show_sql">true</property> <property name="transaction.factory_class"> net.sf.hibernate.transaction.JDBCTransactionFactory </property> <property name="hibernate.cache.provider_class"> net.sf.hibernate.cache.HashtableCacheProvider </property> <mapping resource="mypackage/Person.hbm.xml"/> </session-factory> </hibernate-configuration> Person.hbm.xml: <?xml version="1.0" encoding="GB2312"?> <!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" > <hibernate-mapping> <class name="mypackage.Person"> <!--hibernate为我们生成主键id--> <id name = "id" unsaved-value = "null"> <generator class="uuid.hex"/> </id> <!--默认把类的变量映射为相同名字的表列,当然我们可以修改其映射方式--> <property name="name"/> <property name="address"/> </class> </hibernate-mapping> package mypackage; public class Person { String name; /** Sets the value of field name. @param name value of field name */ public void setName(String value); { this.name=value; } /** Gets the value of field name. @return value of field name */ public String getName(); { return name; } String address; /** Sets the value of field address. @param address value of field address */ public void setAddress(String value); { this.address=value; } /** Gets the value of field address. @return value of field address */ public String getAddress(); { return address; } String id; /** Sets the value of field id. @param id value of field id */ public void setId(String value); { this.id=value; } /** Gets the value of field id. @return value of field id */ public String getId(); { return id; } } JSP:TEST.JSP <%@ page contentType="text/html; CHARSET=utf8" %> <%@ page import="net.sf.hibernate.Session"%> <%@ page import="net.sf.hibernate.Transaction"%> <%@ page import="net.sf.hibernate.SessionFactory"%> <%@ page import="net.sf.hibernate.cfg.Configuration"%> <%@ page import="net.sf.hibernate.tool.hbm2ddl.SchemaExport"%> <%@ page import="mypackage.*"%> <html> <head> <title> test </title> </head> <body bgcolor="#ffffff"> <h1> JBuilder Generated JSP </h1> <% Configuration conf= new Configuration();; //生成并输出sql到文件(当前目录)和数据库 SchemaExport dbExport=new SchemaExport(conf);; // dbExport.setOutputFile("build\\sql.txt");; dbExport.create(true, true);; SessionFactory sessions = conf.buildSessionFactory();; //以上都是些固定格式的环境配置 //start...... Session s = sessions.openSession();; Transaction t = s.beginTransaction();; //1.用普通使用方式建立对象,填充数据 Person p1=new Person();; p1.setName("陈鹏");; p1.setAddress("西安东郊黄陵");; //2.持久化 s.save(p1);; //此时p1已经可以在数据库中找到 t.commit();; s.close();; %> </body> </html> TEST.JSP WEB-INF ---CLASSES ------mypackage ----------PERSON得配置文件和类 --hibernate.cfg.xml 就这样了,报错:hibernate.properties not found 下面我要抱怨一下,不要阻止我! 看了好一阵HIBERNATE。发现太难了!因为觉得网上例子东一句西一句,一会用hibernate.cfg.xml,一会用hibernate.properties, 路径也奇怪,一会儿在CLASSES根下面,一会儿跑到包里面,一会儿居然又可以随便了。 OK,我用hibernate.cfg.xml,帖子里面说要到CLASSES跟下面,好啊,结果在JBUILDERX里面怎么弄都没有办法弄到那个该死得地方,我把所有东西都放在一个包里面吧,结果一编译都跑到---CLASSES ------mypackage里面去了,直接在WEB-INF上面点右键,结果不让加FILE,郁闷啊~,结果我直接到目录下面拷贝了一个,怎么想怎么别扭。 不知道怎么得,刚才还在报错:dialect找不到,现在又可以了 dialect到底用哪个嘛,我明明是SQLSERVER,帖子上好多人说dialect用SybaseDialect,呵呵,好嘛,我改,虽然不知道为什么,该死得微软,那个什么驱动居然不被支持,我这里又只有这个数据库,算我倒霉。 关于配置文件到底放在哪个路径,看了无数帖子,看到ROBBIN一张关于什么CLASSLOADER得帖子,更加昏迷。 到现在还不知道SQLSERVER中,我想用自增加主建ID,在HIBERNATE里面怎么配,到底是用什么?到底是先在配置文件里面设置好,再到数据库表里面做相应设置呢,还是包括建表在内都不管,在配置文件里面设置好然后通过那个建表得类在程序里面直接弄了?? 我还有很多抱怨没有说完,不过就到这里了,我知道我反应迟钝,大家不用教训我,算我入错行了,最近郁闷得冒了泡了!!!! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2004-03-30
有个JB下十分钟配hibernate的例子 找一下吧
嗯 我也是干看帖子加文档配出来的 很多帖子都是看了不下三遍啊 文档就不用说了 开始都是挑着章节看 现在发现任何一章都要看三遍做六遍的example啊 Good Luck btw:花这么长时间打了这么多字 说明你还是爱恨交加的 所以不用干冒泡了 继续下潜吧 |
|
返回顶楼 | |
发表时间:2004-03-30
cfg.xml和property这两个文件我一直都是共存的
property里面设置 datasource 和 数据连接 属性 而cfg.xml里面设置 各个PO的mapping 以及 show_sql /fetch_size等通用并且需要经常修改的属性 粗略的看了一下 <property name="dialect">net.sf.hibernate.dialect.SybaseDialect</property> 这里需要改为sqlserver的 关于自增ID <id name = "id" unsaved-value = "null"> <generator class="uuid.hex"/> 改为 <id name = "id" unsaved-value = "null"> <generator class="increment"/> 其实这些hibernate的文档都有 耐心点 |
|
返回顶楼 | |
发表时间:2004-03-31
bluemeteor 写道 cfg.xml和property这两个文件我一直都是共存的
两个文件怎样共存呀?请执教 |
|
返回顶楼 | |
发表时间:2004-03-31
bluemeteor 写道 cfg.xml和property这两个文件我一直都是共存的
property里面设置 datasource 和 数据连接 属性 而cfg.xml里面设置 各个PO的mapping 以及 show_sql /fetch_size等通用并且需要经常修改的属性 粗略的看了一下 <property name="dialect">net.sf.hibernate.dialect.SybaseDialect</property> 这里需要改为sqlserver的 关于自增ID <id name = "id" unsaved-value = "null"> <generator class="uuid.hex"/> 改为 <id name = "id" unsaved-value = "null"> <generator class="increment"/> 其实这些hibernate的文档都有 耐心点 老兄,我用UUID没有错,但是用INCREMENT就杀那么反应都没有 关于这个该死的主键自动生成,我已经烦死了,到底怎么样才能在SQLSERVER里面生成:从1开始,然后以后每个加1的主键? 还有,<id name = "id" unsaved-value = "null"> 中的unsaved-value = "null"什么意思?主键还有不被赋值的时候?!我如果想设置其他字段的默认4直的时候,该怎么办啊? |
|
返回顶楼 | |
发表时间:2004-03-31
processing foreign key constraints
启动TOMCAT的时候,JSP什么都不显示,TOMCAT显示到上面的信息的时候就不反应了,怎么回事 |
|
返回顶楼 | |
发表时间:2004-03-31
现在更奇怪了,我一旦把UUID.HEX换成INCREMENT,就报错:
no JNDI name configured afterTransactionCompletion() was never called unclosed connection 其他什么都不变啊,是UUID.HEX就没有问题,建表插入都正常,换成INCREMENT就要错,为什么? |
|
返回顶楼 | |