我配置hibernate
其中hibernate.cfg.xml配置如下
<session-factory> <!--配置数据库连接 --> <property name="connection.url"> jdbc:oracle:thin:@localhost:1521:orcl </property> <property name="connection.username">scott</property> <property name="connection.password">tigger</property> <property name="connection.driver_class"> oracle.jdbc.driver.OracleDriver </property> <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> <!-- 是否打印Sql语句 --> <property name="hibernate.show_sql">true</property> <mapping resource="com/szy/hibernate/user.hbm.xml" /> </session-factory>
user.hbm.xml文件如下配置
<hibernate-mapping package="com.szy.hibernate"> <class name="User" table="t_user"> <id column="ID" name="id" length="10" type="java.lang.String"> <generator class="assigned"/> </id> <property column="USERNAME" name="username" type="java.lang.String" length="20" not-null="true" unique="true"/> <property column="PASSWORD" name="password" type="java.lang.String" length="20"/> <property column="AGE" generated="never" lazy="false" name="age" type="java.lang.Integer"/> </class> </hibernate-mapping>
数据库是通过以下代码生成的
Java codeConfiguration config=new Configuration().configure(); SchemaExport export=new SchemaExport(config); export.create(true, true);
测试代码如下
Java codeUser user=new User(); user.setId("001"); user.setUsername("coolszy"); user.setPassword("test"); user.setAge(21); Session session=HibernateUtil.getSession(); Transaction ts=session.beginTransaction(); session.save(user); ts.commit();
其中HibernateUtil是过去session的工具类
运行时老是报下面的错误
Exception in thread "main" java.lang.AbstractMethodError:
oracle.jdbc.driver.OracleDatabaseMetaData.supportsGetGeneratedKeys()Z
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:123)
at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2119)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2115)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1339)
at com.szy.hibernate.HibernateUtil. <clinit>(HibernateUtil.java:10)
at com.szy.hibernate.Test.main(Test.java:14)
不知怎么解决,请解答
问题补充:
把主键生成策略换native 还是包那个错误
问题补充:
我从orcle的安装目录找到驱动还是不能得
不知你们能否给我一个你们使用成功的驱
我的邮箱coolszy@126.com
谢谢了
问题补充:
问题解决了
多谢pan_java给的驱动
我把驱动上传上来
有同样问题的朋友不妨试试
谢谢楼下帮助我的朋友
PS:为什么出现驱动问题呢?