Como fazer o join numa Collection

Boa tarde amigos!
Estou apanhando para fazer algo básico estou impressionado com minha burrice

Seguinte tenho as seguinte entidades

@Entity
@Table(name = "GrupoFormula", catalog = "validadorSped", schema = "", uniqueConstraints = {
		@UniqueConstraint(columnNames = {"codigo"}), @UniqueConstraint(columnNames = {"descricao"})})
@NamedQueries({
		@NamedQuery(name = "GrupoFormula.findByGruposPorVersaoOrderByDescricao", query = "SELECT g FROM GrupoFormula g join GrupoFormulaCodigoVersao v WHERE v.idCodigoVersao=:codigoVersao")})
public class GrupoFormula implements Serializable
{
	private static final long									serialVersionUID		= 1L;
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Basic(optional = false)
	@Column(name = "id", nullable = false)
	private Integer												id;
	@Basic(optional = false)
	@Column(name = "codigo", nullable = false)
	private int														codigo;
	@Basic(optional = false)
	@Column(name = "descricao", nullable = false, length = 60)
	private String													descricao;
	@Basic(optional = false)
	@Column(name = "obrigatorio", nullable = false, length = 1)
	private String													obrigatorio				= "F";
	@Lob
	@Column(name = "observacao", length = 2147483647)
	private String													observacao;
	@Basic(optional = false)
	@Column(name = "grupoFormulaSistema", nullable = false, length = 1)
	private String													grupoFormulaSistema	= "F";
	@OneToMany(cascade = CascadeType.ALL, mappedBy = "idGrupoFormula", fetch = FetchType.LAZY)
	private Collection<GrupoFormulaCodigoVersao>			grupoFormulaCodigoVersaoCollection;
	@OrderBy("ordem")
	@OneToMany(cascade = CascadeType.ALL, mappedBy = "idGrupoFormula", fetch = FetchType.LAZY)
	private Collection<GrupoFormulaDetalhe>				grupoFormulaDetalheCollection;
	@OneToMany(mappedBy = "grupoFormula")
	private Collection<FormulasClienteVersaoDetalhe>	formulasClienteVersaoDetalheCollection;
}
@Entity
@Table(name = "GrupoFormulaCodigoVersao", catalog = "validadorSped", schema = "", uniqueConstraints = {@UniqueConstraint(columnNames = {
		"idGrupoFormula", "idCodigoVersao"})})
@NamedQueries({
		@NamedQuery(name = "GrupoFormulaCodigoVersao.findAll", query = "SELECT g FROM GrupoFormulaCodigoVersao g"),
		@NamedQuery(name = "GrupoFormulaCodigoVersao.findById", query = "SELECT g FROM GrupoFormulaCodigoVersao g WHERE g.id = :id")})
public class GrupoFormulaCodigoVersao implements Serializable
{
	private static final long	serialVersionUID	= 1L;
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Basic(optional = false)
	@Column(name = "id", nullable = false)
	private Integer				id;
	@JoinColumn(name = "idCodigoVersao", referencedColumnName = "id", nullable = false)
	@ManyToOne(optional = false)
	private CodigoVersao			idCodigoVersao;
	@JoinColumn(name = "idGrupoFormula", referencedColumnName = "id", nullable = false)
	@ManyToOne(optional = false)
	private GrupoFormula			idGrupoFormula;
}

Ao tentar rodar aplicação da o seguinte erro

se eu pegar o select da namedQuery

ir no Mysql e rodar o select funciona