本人菜鸟刚学习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 --------------------编程问答-------------------- --------------------编程问答-------------------- 报的啥错啊,贴出来看看呢 --------------------编程问答--------------------
刚才没看到错误信息,你把表加一个id作为主键呢,你用的oracle数据库,还得加一个序列的 --------------------编程问答-------------------- 我用的是oracle
字段1:username varchar(20)
字段2:password varchar(20)
username是主键 --------------------编程问答--------------------
...... --------------------编程问答-------------------- 我最近也做这个, oracle真心没用过,我用的是mysql,不过我想原理一样。
楼主的错误提示好像是表不存在吧,你看一下你的login表在xe数据库下不? --------------------编程问答-------------------- 如楼上,表或视图不存在,先确认一下再说吧 --------------------编程问答-------------------- 异常信息说:
你的test.java的20行有一个更新处理,但是ORA 找不到表或者视图。你先用PL SQL 看看ORACLE有没有表啊 --------------------编程问答-------------------- 应该是配置文件没生效。
要么是 hibernate 配置没生效,要么就是映射文件没生效。
我感觉应该是hibernate配置文件没生效,因为,楼主从工具类里面构造配置类的对象时,
没有发现 加载 自定义的hibernate配置文件 的代码。
之后创建数据库连接时,可能会出现问题。
那个异常信息,说没有发现对应的表。楼主先去数据库里面看看到底有没有对应的表。
如果有,那么,配置文件没生效。如果没有,想办法创建映射表。 --------------------编程问答-------------------- 应该是数据里面没有对应的表、
补充:Java , Java SE