在Oracle SQL Developer中,如果我正在查看表中的信息,我可以查看约束,这可以让我看到外键(以及此表引用哪些表),并且我可以查看依赖项以查看内容包等参考表.但我不知道如何找到哪些表引用该表.
例如,假设我正在看emp桌子.还有另一个表emp_dept,用于捕获哪些员工在哪些部门(emp通过该表引用表emp_id)的主键中工作emp.有没有办法(通过程序中的某些UI元素,而不是通过SQL)找到emp_dept表引用emp表,而不必知道emp_dept表存在?
我有一个无法修复的休眠问题.
设置:Java EE,Web应用程序,Hibernate 3.2,Tomcat 6,Struts 2.
基本上,我使用我的服务器逻辑(一个struts动作)来持久化对象,然后尝试将该数据拉出来用于下一页并显示它.
我保存对象后检查数据库,果然,我可以在那里看到包含所有数据的行.
但是当我尝试检索它时,我得到了这个:
org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [msc.model.Picture#73]
Run Code Online (Sandbox Code Playgroud)
为了使事情变得更加混乱,当我重新启动Tomcat并尝试访问同一个对象时,我没有得到错误 - Hibernate发现行就好了.
如果我做一些其他操作,Hibernate也能看到该行 - 可能在这里和那里添加一行到数据库,甚至不在同一个表上.
从这一切我怀疑一个Hibernate错误,但我是一个Hibernate新手所以我可能错了.请帮忙!我用Google搜索并用谷歌搜索无济于事.
这是我的Hibernate配置:
<?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.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/msc</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">-------</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">80</property>
<property name="current_session_context_class">thread</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>
<mapping resource="msc/model/Picture.hbm.xml"/>
<mapping resource="msc/model/Comment.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)
这是我的两个映射文件:
<?xml version="1.0" …Run Code Online (Sandbox Code Playgroud)