2013-04-11 71 views
0

我的數據庫:是否可以使用HQL查詢連接表?

WorkflowProcess 
id | name 

WorkflowProcessToWorkflowProcess 
ancestor | descendent 

我需要查詢根WorkflowProcess。有了這個表結構,我在找查詢類似SELECT * FROM WorkflowProcess WHERE id NOT IN (SELECT DISTINCT descendent FROM WorkflowProcessToWorkflowProcess)

WorkflowProcess實體:

private Collection<WorkflowProcessEntity> workflowProcesses; 

@JoinTable(name = "Workflow_Process_to_Workflow_Process", joinColumns = { 
     @JoinColumn(name = "ancestor", referencedColumnName = "id")}, inverseJoinColumns = { 
     @JoinColumn(name = "descendent", referencedColumnName = "id")}) 
@ManyToMany() 
public Collection<WorkflowProcessEntity> getWorkflowProcesses() { 
    return workflowProcesses; 
} 

public void setWorkflowProcesses(Collection<WorkflowProcessEntity> workflowProcesses) { 
    this.workflowProcesses = workflowProcesses; 
} 

是否有可能與HQL做到這一點?

回答

1

嘗試這樣:

select child 
from WorkflowProcess parent right join parent.workflowProcesses child 
where parent is null 
+0

真棒,正是我一直在尋找! – Webnet 2013-04-11 14:22:25