brunoja
Janeiro 22, 2008, 3:57pm
#1
Ola, estou tentando usar o @OneToMany assim:
Classe da Categoria:
@OneToMany(cascade=CascadeType.ALL,mappedBy="categoria")
List<Produto> produtos;
public List<Produto> getProdutos()
{
return produtos;
}
public void setProdutos(List<Produto> produtos)
{
this.produtos = produtos;
}
Classe do produto:
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="pro_cat_id_fk", nullable=false)
Categoria categoria;
public Categoria getCategoria() { return categoria; }
public void setCategoria(Categoria categoria) { this.categoria = categoria; }
Ao usar o getCategoria, ele retorna certo o valor, mas ao tentar da categoria retornar os produtos, a lista vem sempre vazia!!! Tem alguma coisa errada no meu mapeamento? Pra q serve o “cascade=CascadeType.ALL”?
Vlw!
brunoja
Janeiro 22, 2008, 5:12pm
#2
Achei a soluçao, na categoria fica assim agora:
@OneToMany(cascade=CascadeType.ALL,mappedBy="categoria",fetch=FetchType.EAGER)
List<Produto> produtos;
public List<Produto> getProdutos() { return produtos; }
Alguem sabe pq tem q usar o fetch=FetchType.EAGER?
Vlw!
nbluis
Janeiro 22, 2008, 5:14pm
#3
Ai ele carrega a lista de atributos sempre que a entidade for carregada.
Utilizando lazy, fica sob demanda (“lazy inicialization”).
Até,
brunoja
Janeiro 23, 2008, 8:23am
#4
Vlw nbluis!
Alguem sabe como vejo as queries q sao executadas pelo JPA?
Vlw!
Utilize o log4j para ver todas as querys que o jpa executa
brunoja
Janeiro 23, 2008, 9:00am
#6
Vc pode me dar um exemplo de como usa-lo?
Vlw!
[quote=brunoja]Vc pode me dar um exemplo de como usa-lo?
Vlw![/quote]
## ------------------------------------------------------------------------
## Logging Configuration
## ------------------------------------------------------------------------
## Todos os que não forem especificados
log4j.rootLogger=WARN, stdout, file
## A aplicação
log4j.logger.br.com.exemplo=WARN, stdout
## Frameworks
# Hibernate
log4j.logger.org.hibernate=WARN
# Log JDBC bind parameter runtime arguments
log4j.logger.org.hibernate.type=WARN
# Stripes
log4j.logger.net.sourceforge.stripes=INFO
#Tomcat
log4j.logger.org.apache.catalina.realm=WARN, stdout
################### Configuração para o Console - INICIO ###########################
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p %c{1}:%L - %m%n
#################### Configuração para o Console - FIM #############################
#################### Configuração para arquivo - INICIO ############################
## Configurações do arquivo de log para o sistema
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=naprocura.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %p %c:%L \t\t\t %t - %m%n
##################### Configuração para arquivo - FIM ##############################