Pesquisa com Opcões de listagem !?

EU TENHO UM LISTERBOX E UM CAMPO PARA DIGITAR A PESQUISA, NO LISTERBOX TENHO TITULO E ARTISTA, E NA PESQUISA O USUARIO DIGITA O QUE QUISER.

MAIS NÃO CONSIGO FAZER FUNCIONAR ASSIM, ESTÁ FUNCIONANDO SOMENTE A PESQUISA SIMPLES, NÃO SEI COMO ADICIONAR O PARAMETRO DO LISTEBOX NA PESQUISA.

FONTES:

Code:

package br.com.caelum.lojavirtual.modelo;

public enum CdType {

ARTISTA, TITULO;

}

Code:

<form action=“cd.search.logic”>
<tr><td>
<fmt:message key=“titulo”/>
</td>
<td>

&lt;select name="CdType"&gt;
	&lt;option value="ARTISTA"&gt;&lt;fmt:message key="ARTISTA"/&gt;&lt;/option&gt;
	&lt;option value="TITULO"&gt;&lt;fmt:message key="TITULO"/&gt;&lt;/option&gt;

</select>

      &lt;input autocomplete="off" id="cdTitulo" name="cd.titulo" /&gt;
	 &lt;BUTTON type="submit" id="pretty" title="ATENÇÃO:  ${usuario.login} - Click aqui para pesquisar por título" &gt;Pesquisar<IMG  >&lt;/BUTTON&gt; 
&lt;/td&gt;&lt;/tr&gt;

</form>

Code:

package br.com.caelum.lojavirtual.modelo;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;

import org.hibernate.validator.NotEmpty;
import org.hibernate.validator.NotNull;

@Entity
public class Cd {

@Id
@GeneratedValue
private Long id;

@NotNull(message="Título do Cd não poder ser vazio")
@NotEmpty(message="Título do Cd não poder ser vazio")
private String titulo;
private String artista;
private String genero;
     private String imagemCapa;

@OneToMany(mappedBy="cd")
private List&lt;Musica&gt; musicas;

//enumeração
@Enumerated(EnumType.STRING)
private CdType type;

public String getArtista() {
	return artista;
}
public void setArtista(String artista) {
	this.artista = artista;
}
public String getGenero() {
	return genero;
}
public void setGenero(String genero) {
	this.genero = genero;
}
public Long getId() {
	return id;
}
public void setId(Long id) {
	this.id = id;
}
public String getTitulo() {
	return titulo;
}
public void setTitulo(String titulo) {
	this.titulo = titulo;
}

public List&lt;Musica&gt; getMusicas() {
	return musicas;
}
public void setMusicas(List&lt;Musica&gt; musicas) {
	this.musicas = musicas;
}

 public String getImagemCapa() {
     return imagemCapa;
 }

 public void setImagemCapa(String imagemCapa) {
     this.imagemCapa = imagemCapa;
 }

 public void getTitlo() {
     
 }

/*
// get set
public CdType getType() {
return type;
}

 public void setType(CdType type) {
     this.type = type;
 }

*/

}

Code:

package br.com.caelum.lojavirtual.dao;

import br.com.caelum.lojavirtual.modelo.Usuario;
import org.hibernate.Query;
import org.hibernate.Session;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

import br.com.caelum.lojavirtual.modelo.Cd;
import org.vraptor.annotations.Logic;
public class CdDao {

private Session session;

CdDao(Session session) {
	this.session = session;
}

public void add(Cd cd) {
	
	session.save(cd);
}


@SuppressWarnings("unchecked")
public List&lt;Cd&gt; searchSimilarTitulo(String titulo) {
	return session.createCriteria(Cd.class).add(
			Restrictions.ilike("titulo", "%" + titulo + "%")).list();
}
     @SuppressWarnings("unchecked")
public List&lt;Cd&gt; searchSimilarArtista(String artista) {
	return session.createCriteria(Cd.class).add(
			Restrictions.ilike("artista", "%" + artista + "%")).list();
}

}

me retonar o erro quando tento acessar, depois que eu coloco:

@Enumerated(EnumType.STRING)
private CdType type;

o erro é este :

Code:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: could not execute query
org.vraptor.VRaptorServlet.service(VRaptorServlet.java:95)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

root cause

org.hibernate.exception.SQLGrammarException: could not execute query
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
org.hibernate.loader.Loader.doList(Loader.java:2214)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
org.hibernate.loader.Loader.list(Loader.java:2090)
org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:95)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1569)
org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
br.com.caelum.lojavirtual.dao.Dao.listaTodos(Dao.java:41)
br.com.caelum.lojavirtual.logic.CdLogic.lista(CdLogic.java:47)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.vraptor.component.DefaultLogicMethod.execute(DefaultLogicMethod.java:117)
org.vraptor.interceptor.ExecuteLogicInterceptor.intercept(ExecuteLogicInterceptor.java:37)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:131)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:58)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
br.com.caelum.lojavirtual.logic.AutorizadorInterceptor.intercept(AutorizadorInterceptor.java:28)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
br.com.caelum.lojavirtual.logic.DaoInterceptor.intercept(DaoInterceptor.java:24)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:38)
org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)
org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:88)
org.vraptor.core.DefaultController.execute(DefaultController.java:42)
org.vraptor.VRaptorServlet.service(VRaptorServlet.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.
Apache Tomcat/5.5.17

nada ainda meus amigos !