Platform 7.2.11
<data>
<collection id="usersDc" class="com.haulmont.cuba.security.entity.User">
<view extends="_minimal"/>
<loader id="usersDl">
<query>
<![CDATA[select e from sec$User e where exists (select e2 from sec$User e2)]]>
</query>
</loader>
</collection>
<collection id="languagesDc" class="com.company.xxx.entity.Language">
<view extends="_local"/>
<loader id="languagesDl">
<query>
<![CDATA[select e from xxx_Language e where exists (select e2 from xxx_Language e2)]]>
</query>
</loader>
</collection>
</data>
userDl works fine, but languagesDl fail with
com.haulmont.cuba.core.global.RemoteException:
---
javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.7.3.14-cuba): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Dynamic SQL Error; SQL error code = -804; Data type unknown [SQLState:HY004, ISC error code:335544573]
Error Code: 335544573
Call: SELECT t0.ID, t0.NAME FROM DIC_LANGUAGES t0 WHERE EXISTS (SELECT ? FROM DIC_LANGUAGES t1)
bind => [1]
Query: ReadAllQuery(referenceClass=Language sql="SELECT t0.ID, t0.NAME FROM DIC_LANGUAGES t0 WHERE EXISTS (SELECT ? FROM DIC_LANGUAGES t1) ")
FetchGroup(){name, id}
---
org.eclipse.persistence.exceptions.DatabaseException:
Internal Exception: java.sql.SQLException: Dynamic SQL Error; SQL error code = -804; Data type unknown [SQLState:HY004, ISC error code:335544573]
Error Code: 335544573
Call: SELECT t0.ID, t0.NAME FROM DIC_LANGUAGES t0 WHERE EXISTS (SELECT ? FROM DIC_LANGUAGES t1)
bind => [1]
Query: ReadAllQuery(referenceClass=Language sql="SELECT t0.ID, t0.NAME FROM DIC_LANGUAGES t0 WHERE EXISTS (SELECT ? FROM DIC_LANGUAGES t1) ")
FetchGroup(){name, id}
---
java.sql.SQLException: Dynamic SQL Error; SQL error code = -804; Data type unknown [SQLState:HY004, ISC error code:335544573]
---
org.firebirdsql.jdbc.FBSQLExceptionInfo: Dynamic SQL Error
Language class is very simple:
@DdlGeneration(value = DdlGeneration.DbScriptGenerationMode.CREATE_ONLY)
@Table(name = "DIC_LANGUAGES")
@Entity(name = "xxx_Language")
@NamePattern("%s|name")
public class Language extends BaseStringIdEntity {
private static final long serialVersionUID = 1166412891234927384L;
@Id
@Column(name = "ID", nullable = false, length = 32)
private String id;
@Column(name = "NAME", nullable = false, length = 24)
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public void setId(String id) {
this.id = id;
}
@Override
public String getId() {
return id;
}
}