Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 使用复合PrimaryKey请求多个关系时的奇怪行为_Java_Hibernate_Hibernate Mapping_Composite Key - Fatal编程技术网

Java 使用复合PrimaryKey请求多个关系时的奇怪行为

Java 使用复合PrimaryKey请求多个关系时的奇怪行为,java,hibernate,hibernate-mapping,composite-key,Java,Hibernate,Hibernate Mapping,Composite Key,我试图在DocumentModels之间创建一个多个关系,并在关系中添加一个附加信息(dosIndex) 我可以在这两个表中插入数据,但当我尝试使用entityManager请求数据时,我得到了一些奇怪的结果: Query query = entityManager.createQuery("SELECT dos.TDocumentModelsDmoSource FROM TDocumentModelsDmo AS dmo, TjDocumentSourcesDos as dos WHERE

我试图在DocumentModels之间创建一个多个关系,并在关系中添加一个附加信息(dosIndex)

我可以在这两个表中插入数据,但当我尝试使用entityManager请求数据时,我得到了一些奇怪的结果:

Query query = entityManager.createQuery("SELECT dos.TDocumentModelsDmoSource  FROM TDocumentModelsDmo AS dmo, TjDocumentSourcesDos as dos WHERE dmo.dmoId = :modelId AND dos.TDocumentModelsDmoParent = dmo");
query.setParameter("modelId", someData);
ArrayList<TjDocumentSourcesDos> dosList = (ArrayList<TjDocumentSourcesDos>) query.getResultList();
这防止了我在where条件下使用
源代码
模型时执行更复杂的请求

我尝试在两个JoinColumn注释中添加一个
referencedColumnName=“DMO\u ID”
,但仍然得到相同的错误

Query query = entityManager.createQuery("SELECT dos.TDocumentModelsDmoSource  FROM TDocumentModelsDmo AS dmo, TjDocumentSourcesDos as dos WHERE dmo.dmoId = :modelId AND dos.TDocumentModelsDmoParent = dmo");
query.setParameter("modelId", someData);
ArrayList<TjDocumentSourcesDos> dosList = (ArrayList<TjDocumentSourcesDos>) query.getResultList();
Query query = entityManager.createQuery("SELECT sources FROM TDocumentModelsDmo AS dmo, TjDocumentSourcesDos as dos, dos.TDocumentModelsDmoSource AS sources WHERE dmo.dmoId = :modelId AND dos.TDocumentModelsDmoParent = dmo");
query.setParameter("modelId", someData);
ArrayList<TjDocumentSourcesDos> dosList = (ArrayList<TjDocumentSourcesDos>) query.getResultList();