Estoy haciendo unos ejercicios básicos para aprender a manejarme en Neodatis con Java y me ha surgido un pequeño problema.
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 originalODB odb = ODBFactory.open("primeraBase.db");
System.
out.
println("Apellidos del departamento 10"); 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();
System.
out.
println(empleados.
getApellido()); }
Y al fallar probé con esta cláusula Where también
Código Java:
Ver originalICriterion 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?