相关疑难解决方法(0)

外键列表及其引用的表

我正在尝试查找一个查询,它将返回一个表的外键列表以及它们引用的表和列.我在那里一半

SELECT a.table_name, 
       a.column_name, 
       a.constraint_name, 
       c.owner
FROM ALL_CONS_COLUMNS A, ALL_CONSTRAINTS C  
where A.CONSTRAINT_NAME = C.CONSTRAINT_NAME 
  and a.table_name=:TableName 
  and C.CONSTRAINT_TYPE = 'R'
Run Code Online (Sandbox Code Playgroud)

但我仍然需要知道此键引用了哪个表和主键.我怎么会这样?

oracle metadata database-metadata

129
推荐指数
7
解决办法
32万
查看次数

"不存在具有给定标识符的行",尽管它存在

我正在使用Hibernate并获取

线程"main"中的异常org.hibernate.ObjectNotFoundException:不存在具有给定标识符的行:[#271]

这个错误的奇怪之处在于,具有给定id的对象存在于数据库中.我在有问题的应用程序运行中插入了有问题的记录.如果我在同一次运行中访问它(即相同的休眠会话),则检索数据似乎没有问题.

仅仅因为它可能是映射的错误:

public class ProblemClass implements Persistent {
  @ManyToOne(optional = false)
  private MyDbObject myDbObject;
}
public class MyDbObject implements Persistent {
  @OneToMany(mappedBy = "myDbObject")
  private List<ProblemClass> problemClasses;
  @ManyToOne(optional = false)
  private ThirdClass thirdClass;
}
Run Code Online (Sandbox Code Playgroud)

我绝对不知道哪里可以看.任何提示高度赞赏!

只是为了澄清:数据被插入到应用程序的另一个RUN中.它肯定在数据库中,因为我可以在应用程序终止后通过SQL查询看到它.在那之后,即再次启动应用程序时,我在数据库的FIRST查询中得到错误 - 没有删除,也没有涉及回滚.

另外:因为有人问过,这里是获取数据的代码:

public List<ProblemClass> getProblemClasses() {
    Query query = session.createQuery("from ProblemClass");
    return query.list();
}
Run Code Online (Sandbox Code Playgroud)

只是为了完成它,这里是插入它的通用代码(在获取应用程序的另一个RUN之前):

public void save(Persistent persistent) {
    session.saveOrUpdate(persistent);
}
Run Code Online (Sandbox Code Playgroud)

java hibernate

26
推荐指数
2
解决办法
7万
查看次数

org.hibernate.ObjectNotFoundException:不存在具有给定标识符的行,但它确实存在

我有一个无法修复的休眠问题.

设置: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)

java sql hibernate java-ee

26
推荐指数
5
解决办法
9万
查看次数

org.hibernate.ObjectNotFoundException:不存在具有给定标识符的行

我有一个问题,因为Hibernate 4.1.8导致以下异常:

org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [test.hibernate.TestPrepravkaOsobaSAdresou$Uvazek#2]
Run Code Online (Sandbox Code Playgroud)

我在两个实体之间有一个简单的OneToMany关联:

@Entity(name = "Ppv")
@Table(name = "PPV")
public static class Ppv {

  @Id
  Long ppvId;

  @OneToMany(fetch = FetchType.EAGER, mappedBy = "ppv")
  Set<Uvazek> uvazeks = new HashSet<Uvazek>(0);
}


@Entity(name = "Uvazek")
@Table(name = "UVAZEK")
public static class Uvazek {

  @Id
  Long uvazekId;

  @ManyToOne
  @JoinColumn(name = "PPV_FXID")
  Ppv ppv;

}
Run Code Online (Sandbox Code Playgroud)

和一个测试案例,我有一个Ppv和两个Uvazek.当我加载和分离Ppv时,删除一个与加载的Ppv相关联的Uvazek并合并Ppv我得到一个异常.

jdbcTemplate.execute("insert into PPV values(1)");
jdbcTemplate.execute("insert into UVAZEK values(2, 1)");
jdbcTemplate.execute("insert into UVAZEK values(3, 1)");

Ppv ppv = (Ppv) getSession().get(Ppv.class, 1l); …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate

11
推荐指数
1
解决办法
2万
查看次数

如何在Oracle中查找具有外键的表的表?

我打算从表中删除的数据,我想知道的表有多少和有外键参照甲骨文这个特定的表.因为我必须将外键设置为null.我想知道所有具有此特定表的FK的表的列表.

oracle key

10
推荐指数
3
解决办法
6万
查看次数

标签 统计

hibernate ×3

java ×3

oracle ×2

database-metadata ×1

java-ee ×1

key ×1

metadata ×1

spring ×1

sql ×1