Tengo dos tipos de objetos almacenados en la base de datos. Departamentos y Empleados.
El objeto Departamentos tiene las siguientes propiedades:
private*int*deptNo;
private*String*dnombre;
private*String*loc;
Y la clase Empleados éstas:
private*int*empNo;
private*String*apellido;
private*String*oficio;
private*Empleados*dir;
private*java.sql.Date*fechaAlt;
private*float*salario;
private*float*comisión;
private*Departamentos*dept;
Ambas con sus respectivos getters y setters, claro.
El caso es que ahora quiero listar todos los apellidos de los empleados que trabajen en el departamento 10, pero no tengo muy claro como debo acceder a la propiedad deptNo del Departamento.
El código que he probado es tal que así:
Código Java:
Ver original
ODB odb = ODBFactory.open("primeraBase.db"); ICriterion criterio = Where.equal("dept.getDeptno()", 10); CriteriaQuery query = new CriteriaQuery(Empleados.class, criterio); obEmp = odb.getObjects(query); while(obEmp.hasNext()){ Empleados empleados = obEmp.next(); }
Y al fallar probé con esta cláusula Where también
Código Java:
Ver original
ICriterion criterio = Where.equal("dept.get(deptNo)", 10);
En ambas me tira el siguiente error:
NeoDatisError:1000:Attribute get(deptNo) used in criteria queria does not exist on class informacion.Departamentos
¿Alguna guía de como puedo hacer el Where sobre ese campo?