Hibernate 创建的表找不到

cfd406635982 2010-01-24 04:38:02
我用hibernate映射的表,但是为什么找不到啊?
创建的语句都有,而且我还会试着插入了数据,但是在控制台就是找不到表。。
看吧:
Hibernate: select hibernate_sequence.nextval from dual
Hibernate: insert into t_node (name, level, pid, isLeaf, id) values (?, ?, ?, ?, ?)

但是hibernate创建的sequence却能找到。。而且我插入了一条数据,然后再看,变成了2,应该是对的:
SQL> select hibernate_sequence.nextval from dual;

NEXTVAL
----------
2

可是不管我是desc还是select都找不到表。
但是我hibernate的用户:
<property name="hibernate.connection.username">scott</property>
<property name="hibernate.connection.password">tiger</property>

而且我也是用这个账户登录的。。为什么找不到啊??
 select table_name from user_tables;

这样也 没有。。
那那个表跑到哪儿去了啊??
...全文
168 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
love_shasha 2012-04-01
  • 打赏
  • 举报
回复
自己遇到这个问题,总结了下;与大家分享!!QQ群:16068634
love_shasha 2012-04-01
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
XML code

<hibernate-mapping package="com.cfd.node">
<class name="Node" table="t_node" >
<id name="id">
<generator class="native"></generator>
</id>
<pro……
[/Quote]
//这个native 依照数据的话,他本能的默认为自动增长形式;
你看下你console打印的SQL语句是不是有这样一句:
create table hibernate1.t_node_tree (
id varchar(255) not null auto_increment, name varchar(255),
parentid varchar(255),
primary key (id)
)
你看到红色标记的地方,我想你就知道什么原因了吧!!
cfd406635982 2010-01-24
  • 打赏
  • 举报
回复
问题解决了。。。
什么都没有做。。
关机。。吃饭。。开机。。再试。。行了。。
我现在还是不知道怎么回事 原来把Eclipse关了试过的 但是还是没有效果。。
JavaAlpha 2010-01-24
  • 打赏
  • 举报
回复
可以换一个别的名字用 关键字当然不可以用的 。
cfd406635982 2010-01-24
  • 打赏
  • 举报
回复
发现一个问题,那就是level是oracle的保留字,不能用
但是问题还是没有解决。。大家帮我看看。。
cfd406635982 2010-01-24
  • 打赏
  • 举报
回复
<hibernate-mapping package="com.cfd.node">
<class name="Node" table="t_node" >
<id name="id">
<generator class="native"></generator>
</id>
<property name="name"/>
<property name="level"/>
<many-to-one name="parent" class="Node" column="pid"></many-to-one>
<property name="isLeaf"/>
<set name="children">
<key column="pid"></key>
<one-to-many class="Node"/>
</set>
</class>
</hibernate-mapping>

这是我的映射文件。。。
我不知道什么库名,,我用的数据库是oracle,如果是mysql的话,还有可能是进错数据库了。。
而其用户是也用的同一个:
<property name="hibernate.connection.username">scott</property>
我也是用的scott登陆的 。。用户名应该没有错。。刚开始我也怀疑 但是我测试过sequence,
刚开始为1,然后我往t_node插入一条数据后(用hibernate插入的),然后sequence就变成2了。。
但是表确实找不到啊。。 哪儿出了问题??
不善^ 2010-01-24
  • 打赏
  • 举报
回复
看看 hibernate.cnf.xml文件中 库名是否正确
别进错了
道光2008 2010-01-24
  • 打赏
  • 举报
回复
NB啦,检查下控制台登录用户和你的建表用户是否一致
luffyke 2010-01-24
  • 打赏
  • 举报
回复
帮顶吧!不清楚
cfd406635982 2010-01-24
  • 打赏
  • 举报
回复
这是我再次创建表的时候,hibernate打印出来的:
drop table t_node cascade constraints
drop sequence hibernate_sequence
create table t_node (id number(10,0) not null, name varchar2(255), level number(10,0), pid number(10,0), isLeaf number(1,0), primary key (id))
alter table t_node add constraint FKCB608EEDC4A604FF foreign key (pid) references t_node
create sequence hibernate_sequence

为什么hibernate_sequence这个序列能找到。。但是表就找不到呢?
下面是hibernate.cfd.xml的配置信息:
<hibernate-configuration>
<session-factory >
<property name="hibernate.dialect">org.hibernate.dialect.OracleDialect</property>
<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:cfd</property>
<property name="hibernate.connection.username">scott</property>
<property name="hibernate.connection.password">tiger</property>
<property name="show_sql">true</property>
<mapping resource="com/cfd/Node/Node.hbm.xml"/>
</session-factory>
</hibernate-configuration>

还有说明一点是,过程中都没有报错。。谢谢。。帮我解答一下。。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧