我配置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:为什么出现驱动问题呢?