# \[Java para Web com JFS e JPA\] Erro ao persistir os dados do formulário (Resolvido)

**URL:** <https://forum.casadocodigo.com.br/t/java-para-web-com-jfs-e-jpa-erro-ao-persistir-os-dados-do-formulario-resolvido/229>\
**Category:** Livros\
**Created:** [Junho 22, 2016, 11:29pm UTC](https://forum.casadocodigo.com.br/t/java-para-web-com-jfs-e-jpa-erro-ao-persistir-os-dados-do-formulario-resolvido/229 "2016-06-22T23:29:16Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![fred\_jr10](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/fred_jr10/32/13671_2.png) [@fred\_jr10](https://forum.casadocodigo.com.br/u/fred_jr10)\
**Post date:** [Junho 22, 2016, 11:29pm UTC](https://forum.casadocodigo.com.br/t/java-para-web-com-jfs-e-jpa-erro-ao-persistir-os-dados-do-formulario-resolvido/229/1 "2016-06-22T23:29:16Z")

</div>

Boa noite gente.

Continuando meus estudos, consegui fazer o formulário da página xhrml aparece no navegdor. Agora, quando lanço os dados nos campos e clico no botão Salvar, aparece a seguinte mensagem de erro:

**java.lang.IllegalArgumentException: Object: Biblioteca.Livro@2c7158fc is not a known entity type.**

Buscando ajuda em outros fóruns na internet, verifiquei que o problema poderia ser a não-declaração da classe a ser persistida no bando de dados no arquivo persistence.xml. Fiz a alteração sugerida (inserção do nome da classe por meio das tags ), mas o erro continua.

A minha classe persistence.xml está da seguinte forma:

\<?xml version="1.0" encoding="UTF-8"?\>

```
<persistence-unit name="biblioteca">
    
    <class>Biblioteca.Livro</class>

   <properties>
  
        <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/biblioteca"/>
        <property name="javax.persistence.jdbc.user" value="biblioteca"/>
        <property name="javax.persistence.jdbc.password" value="livros"/>
        <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
        
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/>
        <property name="hibernate.hbm2ddl.auto" value="update"/>
        <property name="hibernate.show_sql" value="true"/>
        <property name="hibernate.format_sql" value="true"/>

    </properties>
    
</persistence-unit>

```

E a classe a ser persistida (Livro.java) está assim:

package Biblioteca;

import java.io.Serializable;  
import javax.persistence.Entity;  
import [javax.persistence.Id](http://javax.persistence.Id);  
import javax.persistence.GeneratedValue;

@Entity  
public class Livro implements Serializable {

```
@Id @GeneratedValue
private int id;

private String titulo;
private String autor;
private String espirito;
private String tradutor;
private String editora;
private int anoEdicao;
private String isbn;

public int getId() {
    return id;
}

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

public String getTitulo() {
    return titulo;
}

public void setTitulo(String titulo) {
    this.titulo = titulo;
}

public String getAutor() {
    return autor;
}

public void setAutor(String autor) {
    this.autor = autor;
}

public String getEspirito() {
    return espirito;
}

public void setEspirito(String espirito) {
    this.espirito = espirito;
}

public String getTradutor() {
    return tradutor;
}

public void setTradutor(String tradutor) {
    this.tradutor = tradutor;
}

public String getEditora() {
    return editora;
}

public void setEditora(String editora) {
    this.editora = editora;
}

public int getAnoEdicao() {
    return anoEdicao;
}

public void setAnoEdicao(int anoEdicao) {
    this.anoEdicao = anoEdicao;
}

public String getIsbn() {
    return isbn;
}

public void setIsbn(String isbn) {
    this.isbn = isbn;
}

```

}

Mais uma vez conto com a ajuda de vocês!

Desde já agradeço!

Abraços!

---

<div class="post-metadata">

**Author:** ![gracyane\_oliveira](https://avatars.discourse-cdn.com/v4/letter/g/f9ae1b/32.png) [@gracyane\_oliveira](https://forum.casadocodigo.com.br/u/gracyane_oliveira)\
**Post date:** [Junho 24, 2016, 8:09pm UTC](https://forum.casadocodigo.com.br/t/java-para-web-com-jfs-e-jpa-erro-ao-persistir-os-dados-do-formulario-resolvido/229/2 "2016-06-24T20:09:53Z")

</div>

Acho que é obrigatório um construtor público sem argumentos dentro de sua classe livro. Adicione o construtor e tente executar novamente.

---

<div class="post-metadata">

**Author:** ![fred\_jr10](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/fred_jr10/32/13671_2.png) [@fred\_jr10](https://forum.casadocodigo.com.br/u/fred_jr10)\
**Post date:** [Junho 25, 2016, 1:16pm UTC](https://forum.casadocodigo.com.br/t/java-para-web-com-jfs-e-jpa-erro-ao-persistir-os-dados-do-formulario-resolvido/229/3 "2016-06-25T13:16:27Z")

</div>

Olá Gracyane.

Segui sua sugestão, mas infelizmente o erro persiste. Pode ser alguma coisa no IDE que esteja mal configurada, e está gerando o problema.

Ainda estou pesquisando sobre o Github para colocar o projeto lá. Assim que o fizer, e se você ainda puder me ajudar, eu lhe mando o link.

Obrigado!

Abraços!

---

<div class="post-metadata">

**Author:** ![edyllelandy](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/edyllelandy/32/10442_2.png) [@edyllelandy](https://forum.casadocodigo.com.br/u/edyllelandy)\
**Post date:** [Junho 28, 2016, 7:21pm UTC](https://forum.casadocodigo.com.br/t/java-para-web-com-jfs-e-jpa-erro-ao-persistir-os-dados-do-formulario-resolvido/229/4 "2016-06-28T19:21:01Z")

</div>

Como está a estrutura de pastas/arquivos do seu projeto? Está tudo sendo compilado corretamente? Quando o arquivo .war é enviado ao servidor, está indo também o persistence.xml?  
Tente fazer o seguinte: remova a tag class que você colocou e adicione estas duas:

```
<property name="hibernate.archive.autodetection" value="class" />
<exclude-unlisted-classes>false</exclude-unlisted-classes>
```

---

<div class="post-metadata">

**Author:** ![fred\_jr10](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/fred_jr10/32/13671_2.png) [@fred\_jr10](https://forum.casadocodigo.com.br/u/fred_jr10)\
**Post date:** [Junho 29, 2016, 1:28am UTC](https://forum.casadocodigo.com.br/t/java-para-web-com-jfs-e-jpa-erro-ao-persistir-os-dados-do-formulario-resolvido/229/5 "2016-06-29T01:28:54Z")

</div>

Boa noite Edylle.

A estrutura do projeto é a padrão para aplicações web feitas no NetBeans. Está tudo compilando normalmente e o arquivo persistence.xml está sendo carregado no servidor. Fiz as alterações sugeridas por você e não surtiram efeito. Conitnuo pesquisando por aqui.

Mas gostaria de agradecer pela ajuda! Valeu mesmo!

Abraços!

---

<div class="post-metadata">

**Author:** ![ranieredelima2](https://avatars.discourse-cdn.com/v4/letter/r/e47c2d/32.png) [@ranieredelima2](https://forum.casadocodigo.com.br/u/ranieredelima2)\
**Post date:** [Junho 30, 2016, 2:00pm UTC](https://forum.casadocodigo.com.br/t/java-para-web-com-jfs-e-jpa-erro-ao-persistir-os-dados-do-formulario-resolvido/229/6 "2016-06-30T14:00:01Z")

</div>

Olá @fred_jr10 ,

Será que teria como você mostrar um print das classes criadas? Pois pelo que deu a entender, o persistence não está localizando esta classe neste pacote. E só por curiosidade, no seu MySQL existe o usuário biblioteca com a senha livros?

E será que você poderia também colocar o código da classe que cria a conexão com o banco de dados?

Desculpe, se alguma informação dessas estiver no livro, pois ainda não li o mesmo.

---

<div class="post-metadata">

**Author:** ![fred\_jr10](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.casadocodigo.com.br/fred_jr10/32/13671_2.png) [@fred\_jr10](https://forum.casadocodigo.com.br/u/fred_jr10)\
**Post date:** [Junho 30, 2016, 9:41pm UTC](https://forum.casadocodigo.com.br/t/java-para-web-com-jfs-e-jpa-erro-ao-persistir-os-dados-do-formulario-resolvido/229/7 "2016-06-30T21:41:52Z")

</div>

Olá amigos!

Consegui resolver este problema. O erro era causado pela falta da biblioteca jandex.jar no Hibernate 4.3. Entretanto caí em outro problema. Vou abrir novo tópico para ele.

Abraços!
