Sybase 15 데이터베이스 호출에 대해 교차 조인을 생성하는 명명 된 쿼리가 있습니다. 조인을 사용하려면 내 쿼리를 다시 형식화해야하지만 필요한 구문을 파악할 수는 없다고 생각합니다. 객체와 그 매핑은 다음과JPQL 쿼리가 Sybase의 'cross'근처에서 잘못된 구문을 생성합니다.
WorkflowDef 있습니다
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "workflow_type_id", nullable = false)
private WorkflowType workflowType;
WorkflowInstance
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@Fetch(FetchMode.SELECT)
@JoinColumn(name = "workflow_def_id", nullable = false, updatable = false)
private WorkflowDef workflowDef;
내 이름 쿼리는이 오류가 발생합니다
@NamedQuery(name = "WorkflowInstance.hasStatus", query = "SELECT wi.id FROM WorkflowInstance wi WHERE wi.deal.id = :dealId AND wi.workflowDef.workflowType.systemKey = :wfTypeName AND wi.status IN (:statuses)")
입니다
2015-01-26 16:27:24,237 DEBUG [http-8080-3] util.SQLStatementLogger -
select
workflowin0_.wf_instance_id as col_0_0_
from
tbl_wf_instance workflowin0_ cross
join
tbl_workflow_def workflowde1_ cross
join
tbl_lkp_workflow_type workflowty2_
where
workflowin0_.workflow_def_id=workflowde1_.workflow_def_id
and workflowde1_.workflow_type_id=workflowty2_.workflow_type_id
and workflowin0_.deal_id=?
and workflowty2_.name=?
and (
workflowin0_.status in (
?
)
)
2015-01-26 16 : 27 : 24,238 TRACE [http-8080-3] type.NullableType - 매개 변수에 '60001972'바인딩 : 2015-01-26 16 : 27 : 24,239 TRACE [http-8080 -3] type.NullableType - 매개 변수에 'CREDIT'바인딩 : 2 2015-01-26 16 : 27 : 24,240 DEBUG [http-8080-3] type.EnumType - 매개 변수에 '2'바인딩 : 3 2015-01 -26 16 : 27 : 24,277 WARN [http-8080-3] util.JDBCExceptionReporter - SQL 오류 : 102, SQLState : 42000 2015-01-26 16 : 27 : 24,278 오류 [http-8080-3] util.JDBCExceptionReporter - '십자가'근처의 구문이 잘못되었습니다. 내가 사용하고
의 I 잘못 가고 어디
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="false"/>
<property name="databasePlatform" value="org.hibernate.dialect.SybaseASE15Dialect"/>
</bean>
</property>
사람이 조언을 할 수 있습니까 지속성 단위로 다음?
의 SybaseASE15Dialect를 사용합니다. 데이터베이스에 대해 직접 실행 해 보았습니까? 쿼리가 정확히 무엇이 잘못되었는지에 대해 좀 더 알아 내려고 노력하십시오. (필자는 Sybase 15 전문가가 쿼리에 어떤 문제가 있는지 자동으로 알지 못합니다.)이를 통해 수행해야 할 작업에 대한 통찰력을 얻을 수 있습니다. – dcsohl
dcsohl 문제는 sybase가 교차 조인 구문을 허용하지 않는다는 것입니다. 이 알려진 된 문제가 있지만 더 큰 문제는이 십자가 조인/전체 외부 조인 안된다 어쨌든 그래서 나는 – Craig
... 내 매핑 또는 명명 된 쿼리 구문 문제가있는 것입니다 믿습니다 – Craig