Hibernate初识问题
刚刚接触Hibernate,在学习过程中遇到各种各样的问题,这里记下这几天遇到的问题及解决办法,仅供初学者借鉴。
张世民 ©海枫 2011-10-21
环境:Eclipse/MyEclipse9.0/MyEclipseforSpring8.5 + Sql Server2008 + Java6.0 + Hibernate 3.3.0
一、 JDBC
1、 JDBC选择:sqljdbc_4.0中的sqljdbc4,使用其他会出现错误。
2、 在URL时Sqlserve2008与Sqlserve2000有所不同:
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加载JDBC驱动
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=testHibernate"; // 连接服务器和数据库TestJava
Sqlserve2000的URL为“jdbc:microsoft:sqlserve://”
3、 在使用SQL语句时表名要加“[]”,如:String strSql = "select * from [User] where id = 1" ,如果不加“[]”会出现如下错误:com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'User' 附近有语法错误。
4、 关于端口错误,网上的文章已经很多。主要就是Sqlserve配置管理器打开TCP/IP协议,将端口设置为1433(通常为1433,也可以设置其他)
二、 Hibernate:
1、 版本:截至现在最高版本为4.0.0beta2,我使用的是Hibernate3.3.0或者Hibernate3.1.0。
2、 刚开始接触可以使用Eclipse,配置文件xxx.cfg.xml跟xxx.hbm.xml可以手动编辑,熟悉一下配置。
3、 在xxx.cfg.xml中添加<property name="show_sql">true</property>可以在运行的时候输出sql语句,以便查找错误
4、 在xxx.hbm.xml中<calss>节点中table属性表名加“[]”,
如:<class name="com.hf.beans.User" table="[User]" schema="dbo" catalog="testHibernate">
三、 在MyEclipse DB Browser或者Eclipse Database Source Explorer中添加链接时,如果出现这种错误
修改办法:Connection URL“jdbc:sqlserver://<server_name>:<port>[;databaseName=<dbname>]”不要这种格式,改为“jdbc:sqlserver://localhost:1433; DatabaseName=testHibernate”这种格式,然后再试试
四、 出现如下错误:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
在src中添加文件“log4j.properties”,可以从网上自己下一个。
五、 工欲善其事,必先利其器。选择一个良好的工具,比较关键。熟悉以后使用Hibernate Synchronizer插件。Eclipse中需要自己下载安装。
MyEclipse中已经将Hibernate Synchronize集成在MyEclipse插件,比较方便。
六、Eclipse添加驱动“window→Preferences→Data Management→Connectivity→Driver Definition”
在几天的接触过程中临时碰到这些问题,未涉及的问题肯定还有很多,自己再去网上搜。
张世民 ©海枫 2011-10-21