Ajuda em busca personalizada

Tenho as seguintes entidades:

[code]@Entity
@Table(name=“PERIODODISCIPLINA”)
public class PeriodoDisciplina implements Serializable {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;

@Column(length=100)
private String descricao;

@Temporal(TemporalType.DATE)
private Date dataInicio;

@Temporal(TemporalType.DATE)
private Date dataFim;

@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "DISCIPLINA_ID")
private Disciplina disciplina;

@ManyToOne
@JoinColumn(name="sala_id")
private Sala sala;

@ManyToOne
@JoinColumn(name="disciplinaHorario_id")
private DisciplinaHorario disciplinaHorario;

@OneToOne
@JoinColumn(name="funcionario_id")
private Professor funcionario;[/code]

[code]@Entity
public class Disciplina implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id;

@Column(length=100)
private String descricao;

@OneToMany(cascade = CascadeType.ALL)
private List<PeriodoDisciplina> periodoDisciplinas = new ArrayList<PeriodoDisciplina>();[/code]

E preciso fazer uma busca utilizando datas para verificar quais “periodos de disciplina” estão abertos para determinada “disciplina”.

Utilizei o seguinte select:

[code]String query = “SELECT pc " +
” FROM PeriodoDisciplina pc " +
“INNER JOIN pc.disciplina = :E1”;

    List<PeriodoDisciplina> aux = periodoDisciplinaController.pesquisarParam(query, params);[/code]

Só que ele não me retorna nada. Sendo que há varias coisas cadastradas.