当前位置:编程学习 > JAVA >>

本人菜鸟刚学习hibernate 在练习对数据添加数据时遇到问题实在解决不了求高手帮忙


数据库表名login 有俩列username(主键) password
hibernate.cfg.xml配置文件
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">


<hibernate-configuration>

<session-factory>
<property name="hibernate.connection.url">
jdbc:oracle:thin:@localhost:1521:xe
</property>
<property name="hibernate.connection.username">zhangjian</property>
<property name="hibernate.connection.password">bd</property>
<property name="hibernate.connection.driver_class">
oracle.jdbc.driver.OracleDriver
</property>

<mapping resource="com/pb/hibernate/po/Login.hbm.xml" />

</session-factory>

</hibernate-configuration>
-----------------------------------------------------------------------------------

Login.hbm.xml映射文件

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="com.pb.hibernate.po.Login" table="LOGIN" schema="MYHR">
        <id name="userName" type="java.lang.String">
            <column name="USERNAME" length="20" />
            <generator class="assigned" />
        </id>
        <property name="password" type="java.lang.String">
            <column name="PASSWORD" length="20" not-null="true" />
        </property>
    </class>
</hibernate-mapping>
-----------------------------------------------------------------------------------

持久化类

HibernateUtil工具类

添加数据方法

测试类


-----------------------------------------------------------------------------------
报出的异常


Hibernate --------------------编程问答-------------------- --------------------编程问答-------------------- 报的啥错啊,贴出来看看呢 --------------------编程问答--------------------
引用 2 楼 qq1145174853 的回复:
报的啥错啊,贴出来看看呢

刚才没看到错误信息,你把表加一个id作为主键呢,你用的oracle数据库,还得加一个序列的 --------------------编程问答-------------------- 我用的是oracle
字段1:username varchar(20)
字段2:password varchar(20)
username是主键  --------------------编程问答--------------------
引用 3 楼 qq1145174853 的回复:
Quote: 引用 2 楼 qq1145174853 的回复:

报的啥错啊,贴出来看看呢

刚才没看到错误信息,你把表加一个id作为主键呢,你用的oracle数据库,还得加一个序列的

...... --------------------编程问答-------------------- 我最近也做这个, oracle真心没用过,我用的是mysql,不过我想原理一样。
楼主的错误提示好像是表不存在吧,你看一下你的login表在xe数据库下不? --------------------编程问答-------------------- 如楼上,表或视图不存在,先确认一下再说吧 --------------------编程问答-------------------- 异常信息说:
你的test.java的20行有一个更新处理,但是ORA 找不到表或者视图。你先用PL SQL 看看ORACLE有没有表啊 --------------------编程问答-------------------- 应该是配置文件没生效。
要么是 hibernate 配置没生效,要么就是映射文件没生效。

我感觉应该是hibernate配置文件没生效,因为,楼主从工具类里面构造配置类的对象时,
没有发现 加载 自定义的hibernate配置文件 的代码。

之后创建数据库连接时,可能会出现问题。

那个异常信息,说没有发现对应的表。楼主先去数据库里面看看到底有没有对应的表。
如果有,那么,配置文件没生效。如果没有,想办法创建映射表。 --------------------编程问答-------------------- 应该是数据里面没有对应的表、
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,