该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2004-06-16
oguh 写道 在JBUILDER中运行上面的例子:
我把数据库改为ORACLE: hibernate.dialect net.sf.hibernate.dialect.OracleDialect hibernate.connection.driver_class oracle.jdbc.driver.OracleDriver hibernate.connection.username test_admin hibernate.connection.password test_admin hibernate.connection.url jdbc\:oracle\:thin\:@10.1.1.1\:1521\:db8i KEY产生改为: <generator class="sequence"/> 结果生成数据库成功,但是执行插入后,没有插入数据,而且也不报错。 我采用oracle数据库,配置为: hibernate.dialect net.sf.hibernate.dialect.Oracle9Dialect hibernate.dialect net.sf.hibernate.dialect.OracleDialect hibernate.connection.driver_class oracle.jdbc.driver.OracleDriver hibernate.connection.username jc hibernate.connection.password jc hibernate.connection.url jdbc:oracle:thin:@172.28.200.29:1521:sit Message.hbm.xml中我将 KEY产生改为: <generator class="sequence"/> 可是当运行时,出现下面的错误: net.sf.hibernate.MappingException: Error reading resource: untitled2/Message.hbm.xml at net.sf.hibernate.cfg.Configuration.addClass(Configuration.java:336) at untitled2.hello.main(hello.java:22) Caused by: net.sf.hibernate.MappingException: org.dom4j.DocumentException: Invalid byte 1 of 1-byte UTF-8 sequence. Nested exception: Invalid byte 1 of 1-byte UTF-8 sequence. at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:293) at net.sf.hibernate.cfg.Configuration.addClass(Configuration.java:333) ... 1 more Caused by: org.dom4j.DocumentException: Invalid byte 1 of 1-byte UTF-8 sequence. Nested exception: Invalid byte 1 of 1-byte UTF-8 sequence. at org.dom4j.io.SAXReader.read(SAXReader.java:358) at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:283) at net.sf.hibernate.cfg.Configuration.addClass(Configuration.java:333) at untitled2.hello.main(hello.java:22) Nested exception: java.io.UTFDataFormatException: Invalid byte 1 of 1-byte UTF-8 sequence. at org.apache.xerces.impl.io.UTF8Reader.invalidByte(Unknown Source) at org.apache.xerces.impl.io.UTF8Reader.read(Unknown Source) at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source) at org.apache.xerces.impl.XMLEntityScanner.scanData(Unknown Source) at org.apache.xerces.impl.XMLScanner.scanComment(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanComment(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.dom4j.io.SAXReader.read(SAXReader.java:339) at net.sf.hibernate.cfg.Configuration.addInputStream(Configuration.java:283) ... 2 more |
|
返回顶楼 | |
发表时间:2004-06-17
这个例子虽然很简单,但是为什么不写全呢?比如数据库的配置文件。等等,既然写了就写一个比较完整的例子。因为现在有人要学习,但是找到了你们这个网站,但是这有不知道如何入手。所以个人建议最好里边的高手们能写一个比较完整的例子。让大家下载下去就能运行的。这样很多出学者就不用再东奔西走的了
|
|
返回顶楼 | |
发表时间:2004-06-17
你在精华区里,看看还有别的入门的贴子,很多。一定有你需要的。呵呵!
|
|
返回顶楼 | |
发表时间:2004-06-18
我之所以没有放可以运行的例子就是要让新手懂得如何配置一些hibernate基础的东东,稍微入门的应该都不用来看这个例子了。。这个例子就是引那些还没有入门的入门而已。。
还有 我不是高手。。。 seadog 写道 这个例子虽然很简单,但是为什么不写全呢?比如数据库的配置文件。等等,既然写了就写一个比较完整的例子。因为现在有人要学习,但是找到了你们这个网站,但是这有不知道如何入手。所以个人建议最好里边的高手们能写一个比较完整的例子。让大家下载下去就能运行的。这样很多出学者就不用再东奔西走的了
|
|
返回顶楼 | |
发表时间:2004-06-21
这个例子代码中下面这段是存在较大性能问题的:
/*-------添加1000条记录时间--------------*/ long start = System.currentTimeMillis(); for(int i = 0; i < 1000; i ++) { Message message = new Message("hello"); session.save(message); session.flush(); } 大家把循环次数改为10000和100000试试,看看花了多少时间? 以下是我机器上的数据(P4 2G+512M+MySQL,和例子程序都运行在一台PC上): 循环次数: 1,000 10,000 100,000 所花时间: 2.25s 134.14s 等了15分钟,等不了了 不要怀疑MySQL,只要把session.flush(); 这一句移到循环外面,就有以下结果: 循环次数: 1,000 10,000 100,000 所花时间: 0.86s 5.75s 47.734s 我自己刚开始学,所以我更觉得越是给初学者看的,越要保证正确性,否则会误导一大批! |
|
返回顶楼 | |