Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate,从抽象父对象获取子对象_Java_Hibernate_Oop_Hql_Object Oriented Database - Fatal编程技术网

Java Hibernate,从抽象父对象获取子对象

Java Hibernate,从抽象父对象获取子对象,java,hibernate,oop,hql,object-oriented-database,Java,Hibernate,Oop,Hql,Object Oriented Database,我正在从hibernate获取父抽象对象。获取真实子对象的最佳方法是什么 我认为这不是一个正确的方法: Long parentId=parent.getId(); Child child=childMgr.getInstance().getById(parentId); 您的子对象应已在父对象类中声明: public class parent{ private Child child ; //setter getter } 然后在父hbm(使用注释时会有所不同)中映射它: <o

我正在从hibernate获取父抽象对象。获取真实子对象的最佳方法是什么

我认为这不是一个正确的方法:

Long parentId=parent.getId();
Child child=childMgr.getInstance().getById(parentId);

您的子对象应已在父对象类中声明:

public class parent{
    private Child child ;
//setter getter
}
然后在父hbm(使用注释时会有所不同)中映射它:

<one-to-one cascade="none" name="child" not-null="true"
        class="com.example.child" 
        column="FOREIGN_KEY" />

这仅适用于一对一关系、一对多关系、需要设置为列表的情况。

@AhmadReza请接受或投票回答如果有帮助如果家长有几个不同的孩子,此方法有点复杂。您是否知道不在hbm文件中进行更改?使用注释代替XML配置文件?您的问题很模糊。@melt321我将子对象定义为对象类型
公共类父对象{private Object child;}
,然后使用
if(parent.getChild()instanceof child)
将适当的子对象强制转换为parent.getChild()。所以我接受你的回答!
Child child = parent.getChild();