Bom dia a todos…
Eu tenho um objeto que faz relacionameto com outro.
public class OracleDepartment implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name="DEPARTMENT_ID")
private Long departmentId;
@Column(name="DEPARTMENT_CODE")
private String departmentCode;
@Column(name="DESCRIPTION")
private String departmentName;
@Column(name="MAINT_COST_CATEGORY_VALUE")
private String maintCostCategoryValue;
@Column(name="DEPARTMENT_CLASS_CODE")
private String departmentClassCode;
@JoinColumn(name = "ORGANIZATION_ID", referencedColumnName = "ORGANIZATION_ID")
@ManyToOne
private OracleOrganization oracleOrganization;
Percebam que eu tenho um objeto OracleOrganization. Ate ai tudo bem… o problema é o seguinte… quando eu vou fazer um select filtrando por esse objeto OracleOrganization, eu tenho que fazer assim:
public List<OracleDepartment> getAllByOrganization(OracleOrganization oOrg) {
List<Criterion> listCriterios = new ArrayList<Criterion>();
Criterion c1 = Restrictions.eq("oracleOrganization", oOrg);
listCriterios.add(c1);
Vejam que tenho que passar o objeto completo para poder fazer a Restrictrions.
Na verdade eu gostaria de fazer o seguinte
public List<OracleDepartment> getAllByOrganization(long id) {
List<Criterion> listCriterios = new ArrayList<Criterion>();
Criterion c1 = Restrictions.eq("oracleOrganization.organizationID", id);
listCriterios.add(c1);
Se eu fizer assim, o hibernate fala que nao conseguiu encontrar o “oracleOrganization.organizationID” no objeto OracleDepartment.
OBS.: no Objeto OracleOrganization tem o campo organizationID…
Alguem tem ideia de como posso fazer?