Problemas com Annotations no Hibernate

Pessoal, comecei há alguns dias estudar o JEE, estou usando para as atividades práticas a apostila da Caelum, ela tem vários exemplos, é fácil de entender, mas talvez por ignorância minha tenho encontrado muuuitos problemas em algumas partes, pois faltam informações (isso até é bom pois nos força a quebrar a cabeça para entender, apesar de ser cansativo…)

Nunca trabalhei com annotations e estou vendo isso agora no capítul sobre o Hibernate.
Na página 94, tem um exemplo de uma classe Produto

[code]import org.hibernate.annotations.;
import org.hibernate.mapping.
;

@Entity
public class Produto {

private Long id;
private String nome;
private String descricao;
private double preco;

@Id @GeneratedValue
public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

@Column(name= "descri", nullable = true, length = 50)
public String getDescricao() {
    return descricao;
}

public void setDescricao(String descricao) {
    this.descricao = descricao;
}

public double getPreco() {
    return preco;
}

public void setPreco(double preco) {
    this.preco = preco;
}

}[/code]

As annotations Entity e Column eu achei, mas a Id e a GeneratedValue não. Procurei em todos os pacotes.
Importei para o netbeans apenas o hibernate*.jar e o hibernate-annotations.jar. Está faltando algo?

Thanx!

Ta faltando o jar do ejb 3.

outra coisa, faltou ler a documentação do hibernate-annotations

a anotação @Entity que tem que ser utilizada é a @javax.persistence.Entity
a do pacote do hibernate é um complemento para ela, não uma substituta.

Obrigado!
Achou elas!

Num pensei que programação para web fosse tão chato… Nossa… Logo eu aprendo :smiley:

Valeu kra!

É que como falei to usando a apostila da Caelum e ela peca pela falta de muitas informações…

Mesmo assim obrigado!

Preciso e muito me atualizar :smiley:

Nussa… que saco viu…

E o arquivo hibernate.properties? To colocando na pasta src do netbeans e quando mando compilar dá pau… o que devoi fazer:?

Da pau em que, especificamente?

Ele diz que eu não configurei o dialeto, mas eu configurei. Ele não está enxergando o arquivo de properties

Ja voloquei o arquivo de properties no pacote que está a minha classe tbm e não fuincinou. Olha o erro

Exception in thread "main" org.hibernate.HibernateException: The dialect was not set. Set the property hibernate.dialect. at org.hibernate.dialect.Dialect.getDialect(Dialect.java:610) at org.hibernate.dialect.Dialect.getDialect(Dialect.java:632) at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:84) at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:59) at testehibernate.GeraTabelas.create(GeraTabelas.java:23) at testehibernate.GeraTabelas.main(GeraTabelas.java:32)

olá,

Até onde eu sei, o dialeto é definido no persistence.xml.

Exemplo:

Flws!

é que o magnífico tutorial que estou seguindo usa o arquivo hibernate.properties ao invés do arquivo xml de configuração.

Valeu!

E ae David!

Bom que BD você está usando? Eu segui esta apostila também e
não tive problemas.
Posta aí o trecho do properties no qual você seta o dialeto.

[]'s

Então cara para vc importar estas annotations vc precisa colocar no seu projeto o jar do ejb3-persistence.jar, pois é dela q vc deve importar o @id e o @Entity

[quote=LeonardoCComp]E ae David!

Bom que BD você está usando? Eu segui esta apostila também e
não tive problemas.
Posta aí o trecho do properties no qual você seta o dialeto.

[]'s[/quote]

Pessoal, tendo o mesmo problema posto a linda de inclusão do dialeto:

pessoal estou tendo o mesmo problema. O eclipse não acha o hibernate.properties.

segue o propeties:

hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost/Teste
hibernate.connection.username=root
hibernate.connection.password=1234

segue o erro

log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
	at org.hibernate.dialect.DialectFactory.determineDialect(DialectFactory.java:57)
	at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:39)
	at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
	at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
	at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2073)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1298)
	at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
	at teste.main(teste.java:12)

o q pode ser? como trabalhar com o hibernate.properties?

Olá.

Veja esse link http://www.hibernate.org/hib_docs/reference/en/html/session-configuration.html.

Wellington

cara, o link q vc me enviou tá quebrado

mas de qlqr forma to lendo de novo a documentação dos caras

É por causa do ponto final.

Segue novamente:

http://www.hibernate.org/hib_docs/reference/en/html/session-configuration.html

Cara, valw mesmo pelo link, resolvi o problema com ele… :lol:

agora estou enfrentando um probleminha de permissão de acesso ao banco :roll:. vou dar uma olhada, qlqr coisa eu posto aki.

Abraço

[quote=davidbuzatto]é que o magnífico tutorial que estou seguindo usa o arquivo hibernate.properties ao invés do arquivo xml de configuração.

Valeu![/quote]

David, o tutorial que voce esta seguindo esta certo. Tanto faz voce usar o xml ou o properties no hibernate, voce que esta colocando no lugar errado o arquivo. Sempre coloque no path do seu projeto.

Se quer um material mais mastigado, que ate mesmo os imports aparecem em grande parte do codigo, use o material do FJ-28. Mas creio que é melhor mesmo voce bater cabeca do que so copiar e colar.