Primeira Vez com Hibernate ( + Apostila k19 )

17 respostas
SirDominque

Gente!!!!
Preciso de um help.
Se puderem me ajudar...
Estou tentando aprender Hibernate, já entendi a Teoria mas estou com duvida na parte prática!!

Nessa parte do código : Persistence.createEntityManagerFactory("Hibernate.cfg.xml");
O que eu tenho que colocar entre parenteses?

run: Mai 01, 2013 8:17:13 PM org.hibernate.cfg.annotations.Version <clinit> INFO: Hibernate Annotations 3.3.1.GA Mai 01, 2013 8:17:13 PM org.hibernate.cfg.Environment <clinit> INFO: Hibernate 3.2.5 Mai 01, 2013 8:17:13 PM org.hibernate.cfg.Environment <clinit> INFO: hibernate.properties not found Mai 01, 2013 8:17:13 PM org.hibernate.cfg.Environment buildBytecodeProvider INFO: Bytecode provider name : cglib Mai 01, 2013 8:17:13 PM org.hibernate.cfg.Environment <clinit> INFO: using JDK 1.4 java.sql.Timestamp handling Mai 01, 2013 8:17:13 PM org.hibernate.ejb.Version <clinit> INFO: Hibernate EntityManager 3.3.2.GA Mai 01, 2013 8:17:13 PM org.hibernate.ejb.Ejb3Configuration configure INFO: Could not find any META-INF/persistence.xml file in the classpath Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named Hibernate.cfg.xml at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:33) at hibernatecrud.HibernateCRUD.main(HibernateCRUD.java:24) Java Result: 1 CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
package hibernatecrud;

import Model.Maca;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;


/**
 *
 * @author André Vinícius Lopes
 */
public class HibernateCRUD {

   
    public static void main(String[] args) 
    {
       Maca maca = new Maca();
       maca.setCor("Azul");
       maca.setTamanho(10);
       
       EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("Hibernate.cfg.xml");
       EntityManager manager = entityManagerFactory.createEntityManager();
       manager.getTransaction().begin();
       
       manager.persist(maca);
       manager.getTransaction().commit();
       manager.close();
       entityManagerFactory.close();
   
        
        
        
    }

}
Classe Maça
package Model;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import org.hibernate.annotations.Entity;
import org.hibernate.annotations.*;
/**
 *
 * @author André Vinícius Lopes
 */

@Entity
public class Maca {
    
    @Id
    @GeneratedValue
    public int id;
    
    public int tamanho;
    public String cor;

    
    public Maca()
    {
        
    }
    
    
    
    public int getId() {
        return id;
    }

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

    public int getTamanho() {
        return tamanho;
    }

    public void setTamanho(int tamanho) {
        this.tamanho = tamanho;
    }

    public String getCor() {
        return cor;
    }

    public void setCor(String cor) {
        this.cor = cor;
    }
    
    
    

}

17 Respostas

SirDominque

Bom, faltava esse arquivo aqui pelo wizard do netbeans :

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"&gt; &lt;persistence-unit name="HibernateCRUDPU" transaction-type="RESOURCE_LOCAL"&gt; &lt;provider&gt;org.hibernate.ejb.HibernatePersistence&lt;/provider&gt; &lt;properties&gt; &lt;property name="hibernate.connection.username" value="root"/&gt; &lt;property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/&gt; &lt;property name="hibernate.connection.password" value="admin"/&gt; &lt;property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull"/&gt; &lt;property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/&gt; &lt;property name="hibernate.hbm2ddl.auto" value="create-drop"/&gt; &lt;/properties&gt; &lt;/persistence-unit&gt; &lt;/persistence&gt;

Mas ainda da esse erro:

<blockquote>Exception in thread “main” java.lang.IllegalArgumentException: Unknown entity: Model.Maca

at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:223)

at hibernatecrud.HibernateCRUD.main(HibernateCRUD.java:24)

Java Result: 1</blockquote>
SirDominque

Ainda nao Funciona...
Alguém pode me ajudar , por favor?

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"&gt;
  &lt;persistence-unit name="HibernateCRUDPU" transaction-type="RESOURCE_LOCAL"&gt;
      
    &lt;provider&gt;org.hibernate.ejb.HibernatePersistence&lt;/provider&gt;
     &lt;class&gt;Model.Maca&lt;/class&gt;
    &lt;properties&gt;
      &lt;property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/&gt;
      &lt;property name="hibernate.connection.username" value="root"/&gt;
      &lt;property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/&gt;
      &lt;property name="hibernate.connection.password" value="admin"/&gt;
      &lt;property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull"/&gt;
      &lt;property name="hibernate.hbm2ddl.auto" value="update"/&gt;
    &lt;/properties&gt;
  &lt;/persistence-unit&gt;
&lt;/persistence&gt;
Mai 02, 2013 12:45:08 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: schema update complete Exception in thread "main" java.lang.IllegalArgumentException: Unknown entity: Model.Maca at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:223) at hibernatecrud.HibernateCRUD.main(HibernateCRUD.java:24) Java Result: 1

Bom, nao sei mais o que fazer...

package Model;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.Entity;

/**
 *
 * @author André Vinícius Lopes
 */
@Entity
@Table(name="Maca")  
public class Maca implements java.io.Serializable{
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue
    public int id;
    public int tamanho;
    public String cor;

    public Maca() {
    }

    public int getId() {
        return id;
    }

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

    public int getTamanho() {
        return tamanho;
    }

    public void setTamanho(int tamanho) {
        this.tamanho = tamanho;
    }

    public String getCor() {
        return cor;
    }

    public void setCor(String cor) {
        this.cor = cor;
    }
}
F

No seu hibernate_cfg.xml coloque isso aqui:

SirDominque
fdiaz2011:
No seu hibernate_cfg.xml coloque isso aqui:

Valeu :O mas ainda nao funciona..

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" >
<hibernate-configuration>
  
  <session-factory name="manager">
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">admin</property>
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</property>
    <mapping resource="hibernate.hbm.xml"  />
    <mapping class="Model.Maca" />
  </session-factory>
 
</hibernate-configuration>
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
  <persistence-unit name="HibernateCRUDPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <class>Model.Maca</class>
    <properties>
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
      <property name="hibernate.connection.username" value="root"/>
      <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
      <property name="hibernate.connection.password" value="admin"/>
      <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull"/>
      <property name="hibernate.hbm2ddl.auto" value="update"/>
    </properties>
  </persistence-unit>
</persistence>
run: Mai 02, 2013 8:24:50 AM org.hibernate.cfg.annotations.Version INFO: Hibernate Annotations 3.3.1.GA Mai 02, 2013 8:24:50 AM org.hibernate.cfg.Environment INFO: Hibernate 3.2.5 Mai 02, 2013 8:24:50 AM org.hibernate.cfg.Environment INFO: hibernate.properties not found Mai 02, 2013 8:24:50 AM org.hibernate.cfg.Environment buildBytecodeProvider INFO: Bytecode provider name : cglib Mai 02, 2013 8:24:50 AM org.hibernate.cfg.Environment INFO: using JDK 1.4 java.sql.Timestamp handling Mai 02, 2013 8:24:50 AM org.hibernate.ejb.Version INFO: Hibernate EntityManager 3.3.2.GA Mai 02, 2013 8:24:50 AM org.hibernate.cfg.AnnotationConfiguration secondPassCompile INFO: Hibernate Validator not found: ignoring Mai 02, 2013 8:24:50 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: Using Hibernate built-in connection pool (not for production use!) Mai 02, 2013 8:24:50 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: Hibernate connection pool size: 20 Mai 02, 2013 8:24:50 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: autocommit mode: true Mai 02, 2013 8:24:50 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull Mai 02, 2013 8:24:50 AM org.hibernate.connection.DriverManagerConnectionProvider configure INFO: connection properties: {user=root, password=****, autocommit=true, release_mode=auto} Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: RDBMS: MySQL, version: 5.6.10 Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.18 ( Revision: [email removido]-20110930151701-jfj14ddfq48ifkfq ) Mai 02, 2013 8:24:50 AM org.hibernate.dialect.Dialect INFO: Using dialect: org.hibernate.dialect.MySQLDialect Mai 02, 2013 8:24:50 AM org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory INFO: Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory Mai 02, 2013 8:24:50 AM org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Automatic flush during beforeCompletion(): disabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Automatic session close at end of transaction: disabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: JDBC batch size: 15 Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: JDBC batch updates for versioned data: disabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Scrollable result sets: enabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: JDBC3 getGeneratedKeys(): enabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Connection release mode: auto Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Maximum outer join fetch depth: 2 Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Default batch fetch size: 1 Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Generate SQL with comments: disabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Order SQL updates by primary key: disabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Order SQL inserts for batching: disabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory Mai 02, 2013 8:24:50 AM org.hibernate.hql.ast.ASTQueryTranslatorFactory INFO: Using ASTQueryTranslatorFactory Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Query language substitutions: {} Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: JPA-QL strict compliance: enabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Second-level cache: enabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Query cache: disabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory createCacheProvider INFO: Cache provider: org.hibernate.cache.NoCacheProvider Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Optimize cache for minimal puts: disabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Structured second-level cache entries: disabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Statistics: disabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Deleted entity synthetic identifier rollback: disabled Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Default entity-mode: pojo Mai 02, 2013 8:24:50 AM org.hibernate.cfg.SettingsFactory buildSettings INFO: Named query checking : enabled Mai 02, 2013 8:24:50 AM org.hibernate.impl.SessionFactoryImpl INFO: building session factory Mai 02, 2013 8:24:50 AM org.hibernate.impl.SessionFactoryObjectFactory addInstance INFO: Not binding factory to JNDI, no JNDI name configured Mai 02, 2013 8:24:50 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: Running hbm2ddl schema update Mai 02, 2013 8:24:50 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: fetching database metadata Mai 02, 2013 8:24:50 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: updating schema Mai 02, 2013 8:24:50 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: schema update complete Exception in thread "main" java.lang.IllegalArgumentException: Unknown entity: Model.Maca at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:223) at hibernatecrud.HibernateCRUD.main(HibernateCRUD.java:24) Java Result: 1 CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
DaniloAndrade

vc não preciso do hibernate.cfg.xml apenas o persistence.xml que deve ficar na pasta META-INF

no seu codigo

public class HibernateCRUD {  
  
     
    public static void main(String[] args)   
    {  
       Maca maca = new Maca();  
       maca.setCor("Azul");  
       maca.setTamanho(10);  
         
       EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("Hibernate.cfg.xml");  // essa é a forma errada. aqui vc deve passar o persistence unit
       EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("HibernateCRUDPU");  // forma certa.
       EntityManager manager = entityManagerFactory.createEntityManager();  
       manager.getTransaction().begin();  
         
       manager.persist(maca);  
       manager.getTransaction().commit();  
       manager.close();  
       entityManagerFactory.close();  
     
          
          
          
    }  
  
}

O persitence unit fica na no persistence.xml nessa linha

<persistence-unit name="HibernateCRUDPU" transaction-type="RESOURCE_LOCAL">
SirDominque

DaniloAndrade:
vc não preciso do hibernate.cfg.xml apenas o persistence.xml que deve ficar na pasta META-INF

no seu codigo

public class HibernateCRUD {  
  
     
    public static void main(String[] args)   
    {  
       Maca maca = new Maca();  
       maca.setCor("Azul");  
       maca.setTamanho(10);  
         
       EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("Hibernate.cfg.xml");  // essa é a forma errada. aqui vc deve passar o persistence unit
       EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("HibernateCRUDPU");  // forma certa.
       EntityManager manager = entityManagerFactory.createEntityManager();  
       manager.getTransaction().begin();  
         
       manager.persist(maca);  
       manager.getTransaction().commit();  
       manager.close();  
       entityManagerFactory.close();  
     
          
          
          
    }  
  
}

O persitence unit fica na no persistence.xml nessa linha

<persistence-unit name="HibernateCRUDPU" transaction-type="RESOURCE_LOCAL">

Valeu Danilo :stuck_out_tongue:
Ja estava alterado mas ainda continua com mesmo problema.

DaniloAndrade

posta o erro que esta dando agora

SirDominque
DaniloAndrade:
posta o erro que esta dando agora
run:
Mai 02, 2013 8:36:04 AM org.hibernate.cfg.annotations.Version <clinit>
INFO: Hibernate Annotations 3.3.1.GA
Mai 02, 2013 8:36:04 AM org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.5
Mai 02, 2013 8:36:04 AM org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
Mai 02, 2013 8:36:04 AM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
Mai 02, 2013 8:36:04 AM org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
Mai 02, 2013 8:36:04 AM org.hibernate.ejb.Version <clinit>
INFO: Hibernate EntityManager 3.3.2.GA
Mai 02, 2013 8:36:04 AM org.hibernate.cfg.AnnotationConfiguration secondPassCompile
INFO: Hibernate Validator not found: ignoring
Mai 02, 2013 8:36:04 AM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
Mai 02, 2013 8:36:04 AM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 20
Mai 02, 2013 8:36:04 AM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: true
Mai 02, 2013 8:36:04 AM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull
Mai 02, 2013 8:36:04 AM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=root, password=****, autocommit=true, release_mode=auto}
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: MySQL, version: 5.6.10
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.18 ( Revision: [email removido]-20110930151701-jfj14ddfq48ifkfq )
Mai 02, 2013 8:36:05 AM org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.MySQLDialect
Mai 02, 2013 8:36:05 AM org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory
INFO: Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory
Mai 02, 2013 8:36:05 AM org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup
INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic flush during beforeCompletion(): disabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Automatic session close at end of transaction: disabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch size: 15
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC batch updates for versioned data: disabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Scrollable result sets: enabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC3 getGeneratedKeys(): enabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Connection release mode: auto
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Maximum outer join fetch depth: 2
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default batch fetch size: 1
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Generate SQL with comments: disabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL updates by primary key: disabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Order SQL inserts for batching: disabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory
INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
Mai 02, 2013 8:36:05 AM org.hibernate.hql.ast.ASTQueryTranslatorFactory <init>
INFO: Using ASTQueryTranslatorFactory
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query language substitutions: {}
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JPA-QL strict compliance: enabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Second-level cache: enabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Query cache: disabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory createCacheProvider
INFO: Cache provider: org.hibernate.cache.NoCacheProvider
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Optimize cache for minimal puts: disabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Structured second-level cache entries: disabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Statistics: disabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Deleted entity synthetic identifier rollback: disabled
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Default entity-mode: pojo
Mai 02, 2013 8:36:05 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: Named query checking : enabled
Mai 02, 2013 8:36:05 AM org.hibernate.impl.SessionFactoryImpl <init>
INFO: building session factory
Mai 02, 2013 8:36:05 AM org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
Mai 02, 2013 8:36:05 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: Running hbm2ddl schema update
Mai 02, 2013 8:36:05 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: fetching database metadata
Mai 02, 2013 8:36:05 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: updating schema
Mai 02, 2013 8:36:05 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: schema update complete
Exception in thread "main" java.lang.IllegalArgumentException: Unknown entity: Model.Maca
	at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:223)
	at hibernatecrud.HibernateCRUD.main(HibernateCRUD.java:24)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
package hibernatecrud;

import Model.Maca;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

/**
 *
 * @author André Vinícius Lopes
 */
public class HibernateCRUD {
   
    public static void main(String[] args) 
    {
       Maca maca = new Maca();
       maca.setCor("Azul");
       maca.setTamanho(10);
       
       EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("HibernateCRUDPU");
       EntityManager manager = entityManagerFactory.createEntityManager();
       manager.getTransaction().begin();
       
       manager.persist(maca);
       manager.getTransaction().commit();
       manager.close();
       entityManagerFactory.close();
   
    }

}
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> org.hibernate.ejb.HibernatePersistence Model.Maca
DaniloAndrade

sua classe ta usando as anotações erradas

package Model;  
  
import javax.persistence.GeneratedValue;  
import javax.persistence.Id;  
import javax.persistence.Table;  
import org.hibernate.annotations.Entity;  //esse import ta errado 
  
/** 
* 
* @author André Vinícius Lopes 
*/  
@Entity  //essa anotação deve ser do javax.persistence 
@Table(name="Maca")    
public class Maca implements java.io.Serializable{  
    private static final long serialVersionUID = 1L;  
  
    @Id  
    @GeneratedValue  
    public int id;  
    public int tamanho;  
    public String cor;  
  
    public Maca() {  
    }  
  
    public int getId() {  
        return id;  
    }  
  
    public void setId(int id) {  
        this.id = id;  
    }  
  
    public int getTamanho() {  
        return tamanho;  
    }  
  
    public void setTamanho(int tamanho) {  
        this.tamanho = tamanho;  
    }  
  
    public String getCor() {  
        return cor;  
    }  
  
    public void setCor(String cor) {  
        this.cor = cor;  
    }  
}

olha o que seu log de erro ta mostrando

INFO: schema update complete  
Exception in thread "main" java.lang.IllegalArgumentException: Unknown entity: Model.Maca  
    at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:223)  
    at hibernatecrud.HibernateCRUD.main(HibernateCRUD.java:24)  
Java Result: 1
SirDominque

DaniloAndrade:
sua classe ta usando as anotações erradas

package Model;  
  
import javax.persistence.GeneratedValue;  
import javax.persistence.Id;  
import javax.persistence.Table;  
import org.hibernate.annotations.Entity;  //esse import ta errado 
  
/** 
* 
* @author André Vinícius Lopes 
*/  
@Entity  //essa anotação deve ser do javax.persistence 
@Table(name="Maca")    
public class Maca implements java.io.Serializable{  
    private static final long serialVersionUID = 1L;  
  
    @Id  
    @GeneratedValue  
    public int id;  
    public int tamanho;  
    public String cor;  
  
    public Maca() {  
    }  
  
    public int getId() {  
        return id;  
    }  
  
    public void setId(int id) {  
        this.id = id;  
    }  
  
    public int getTamanho() {  
        return tamanho;  
    }  
  
    public void setTamanho(int tamanho) {  
        this.tamanho = tamanho;  
    }  
  
    public String getCor() {  
        return cor;  
    }  
  
    public void setCor(String cor) {  
        this.cor = cor;  
    }  
}

olha o que seu log de erro ta mostrando

INFO: schema update complete Exception in thread "main" java.lang.IllegalArgumentException: Unknown entity: Model.Maca at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:223) at hibernatecrud.HibernateCRUD.main(HibernateCRUD.java:24) Java Result: 1

DANILO DEU CERTOOOOO

<blockquote>run:

Mai 02, 2013 8:44:28 AM org.hibernate.cfg.annotations.Version 

INFO: Hibernate Annotations <a href="http://3.3.1.GA">3.3.1.GA</a>

Mai 02, 2013 8:44:28 AM org.hibernate.cfg.Environment 

INFO: Hibernate 3.2.5

Mai 02, 2013 8:44:28 AM org.hibernate.cfg.Environment 

INFO: hibernate.properties not found

Mai 02, 2013 8:44:28 AM org.hibernate.cfg.Environment buildBytecodeProvider

INFO: Bytecode provider name : cglib

Mai 02, 2013 8:44:28 AM org.hibernate.cfg.Environment 

INFO: using JDK 1.4 java.sql.Timestamp handling

Mai 02, 2013 8:44:28 AM org.hibernate.ejb.Version 

INFO: Hibernate EntityManager <a href="http://3.3.2.GA">3.3.2.GA</a>

Mai 02, 2013 8:44:28 AM org.hibernate.cfg.AnnotationBinder bindClass

INFO: Binding entity from annotated class: Model.Maca

Mai 02, 2013 8:44:28 AM org.hibernate.cfg.annotations.EntityBinder bindTable

INFO: Bind entity Model.Maca on table Maca

Mai 02, 2013 8:44:28 AM org.hibernate.cfg.AnnotationConfiguration secondPassCompile

INFO: Hibernate Validator not found: ignoring

Mai 02, 2013 8:44:28 AM org.hibernate.connection.DriverManagerConnectionProvider configure

INFO: Using Hibernate built-in connection pool (not for production use!)

Mai 02, 2013 8:44:28 AM org.hibernate.connection.DriverManagerConnectionProvider configure

INFO: Hibernate connection pool size: 20

Mai 02, 2013 8:44:28 AM org.hibernate.connection.DriverManagerConnectionProvider configure

INFO: autocommit mode: true

Mai 02, 2013 8:44:28 AM org.hibernate.connection.DriverManagerConnectionProvider configure

INFO: using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull

Mai 02, 2013 8:44:28 AM org.hibernate.connection.DriverManagerConnectionProvider configure

INFO: connection properties: {user=root, password=****, autocommit=true, release_mode=auto}

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: RDBMS: MySQL, version: 5.6.10

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.18 ( Revision: [email removido]-20110930151701-jfj14ddfq48ifkfq )

Mai 02, 2013 8:44:29 AM org.hibernate.dialect.Dialect 

INFO: Using dialect: org.hibernate.dialect.MySQLDialect

Mai 02, 2013 8:44:29 AM org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory

INFO: Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory

Mai 02, 2013 8:44:29 AM org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup

INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Automatic flush during beforeCompletion(): disabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Automatic session close at end of transaction: disabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: JDBC batch size: 15

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: JDBC batch updates for versioned data: disabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Scrollable result sets: enabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: JDBC3 getGeneratedKeys(): enabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Connection release mode: auto

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Maximum outer join fetch depth: 2

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Default batch fetch size: 1

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Generate SQL with comments: disabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Order SQL updates by primary key: disabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Order SQL inserts for batching: disabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory

INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory

Mai 02, 2013 8:44:29 AM org.hibernate.hql.ast.ASTQueryTranslatorFactory 

INFO: Using ASTQueryTranslatorFactory

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Query language substitutions: {}

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: JPA-QL strict compliance: enabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Second-level cache: enabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Query cache: disabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory createCacheProvider

INFO: Cache provider: org.hibernate.cache.NoCacheProvider

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Optimize cache for minimal puts: disabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Structured second-level cache entries: disabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Statistics: disabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Deleted entity synthetic identifier rollback: disabled

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Default entity-mode: pojo

Mai 02, 2013 8:44:29 AM org.hibernate.cfg.SettingsFactory buildSettings

INFO: Named query checking : enabled

Mai 02, 2013 8:44:29 AM org.hibernate.impl.SessionFactoryImpl 

INFO: building session factory

Mai 02, 2013 8:44:29 AM org.hibernate.impl.SessionFactoryObjectFactory addInstance

INFO: Not binding factory to JNDI, no JNDI name configured

Mai 02, 2013 8:44:29 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute

INFO: Running hbm2ddl schema update

Mai 02, 2013 8:44:29 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute

INFO: fetching database metadata

Mai 02, 2013 8:44:29 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute

INFO: updating schema

Mai 02, 2013 8:44:29 AM org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata

INFO: table not found: Maca

Mai 02, 2013 8:44:29 AM org.hibernate.tool.hbm2ddl.DatabaseMetadata getTableMetadata

INFO: table not found: Maca

Mai 02, 2013 8:44:30 AM org.hibernate.tool.hbm2ddl.SchemaUpdate execute

INFO: schema update complete

Mai 02, 2013 8:44:30 AM org.hibernate.impl.SessionFactoryImpl close

INFO: closing

Mai 02, 2013 8:44:30 AM org.hibernate.connection.DriverManagerConnectionProvider close

INFO: cleaning up connection pool: jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull

CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)

</blockquote>

Cara, muito Obrigado, ontem fiquei me matando pra descobrir o que era :stuck_out_tongue:

DaniloAndrade

agora uma dica

tenta usar o padrão javaBeans

nome de pacotes em letra minuscula

SirDominque

DaniloAndrade:
agora uma dica

tenta usar o padrão javaBeans

nome de pacotes em letra minuscula

Tudo bem, farei isso :stuck_out_tongue:
Ja imprimi um tutorial de boas práticas :smiley:

Ah, queria pedir, por favor, o que voce acha dessa query :

package hibernatecrud;

import Model.Maca;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;


/**
 *
 * @author André Vinícius Lopes
 */
public class HibernateCRUD {

    public static void main(String[] args) {

        HibernateCRUD hibernateCrud = new HibernateCRUD();

        //Insert:
        hibernateCrud.insertMaca();

        /////////////////////////////
        //Query:

        hibernateCrud.tryQuery();




    }

    public void insertMaca() {
        Maca maca = new Maca();
        maca.setCor("Azul");
        maca.setTamanho(10);

        EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("HibernateCRUDPU");
        EntityManager manager = entityManagerFactory.createEntityManager();
        manager.getTransaction().begin();

        manager.persist(maca);
        manager.getTransaction().commit();
        manager.close();
        entityManagerFactory.close();
    }

    public void tryQuery() {
        EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("HibernateCRUDPU");
        EntityManager manager = entityManagerFactory.createEntityManager();

        EntityTransaction transaction = manager.getTransaction();
        transaction.begin();

        
        
        String hql = "FROM Maca";
        javax.persistence.Query query = manager.createQuery(hql);
        List resultList = query.getResultList();
        
        Maca m = (Maca) resultList.get(0);
        System.out.println(m.cor);
        
         transaction.commit();
         manager.close();

    }
}


INFO: indexes: [primary]
Mai 02, 2013 12:36:23 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute
INFO: schema update complete
Azul
CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)

SirDominque

Ah, acabei de perceber que o meu mysql esta vazio >.>
Tentando descobrir o que fiz errado…
Sera que é esse transaction-type=“RESOURCE_LOCAL” ?

<?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="HibernateCRUDPU" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <class>Model.Maca</class> <properties> <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/> <property name="hibernate.connection.username" value="root"/> <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/> <property name="hibernate.connection.password" value="admin"/> <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306"/> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> </properties> </persistence-unit> </persistence>

DaniloAndrade

falta o nome da sua database

<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306"/>  //falta da nome da database na url

outra coisa como vc esta usando jpa use as property do jpa so use da a do provider se não existir na jpa

outra dica crie uma fabrica de entityManager e instancia a entityManagedFactory apenas uma vez, entityManagedFactory é um recurso caro não deve ser criado em toda chamada de metodo

SirDominque

DaniloAndrade:
falta o nome da sua database

<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306"/>  //falta da nome da database na url

outra coisa como vc esta usando jpa use as property do jpa so use da a do provider se não existir na jpa

outra dica crie uma fabrica de entityManager e instancia a entityManagedFactory apenas uma vez, entityManagedFactory é um recurso caro não deve ser criado em toda chamada de metodo

Tentei com o nome tambem, mas nao deu certo.
Vou tentar de novo.

SirDominque

Andre Lopes:
DaniloAndrade:
falta o nome da sua database

<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306"/>  //falta da nome da database na url

outra coisa como vc esta usando jpa use as property do jpa so use da a do provider se não existir na jpa

outra dica crie uma fabrica de entityManager e instancia a entityManagedFactory apenas uma vez, entityManagedFactory é um recurso caro não deve ser criado em toda chamada de metodo

Tentei com o nome tambem, mas nao deu certo.
Vou tentar de novo.

Criei um novo schema chamado “hibernate”

<?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="HibernateCRUDPU" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <class>Model.Maca</class> <properties> <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/> <property name="hibernate.connection.username" value="root"/> <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/> <property name="hibernate.connection.password" value="admin"/> <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/hibernate"/> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> </properties> </persistence-unit> </persistence>

Ainda nada :frowning:

SirDominque

érr , fui no wizard do netbeans e re-fiz a configuracao e funcionou

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"&gt; &lt;persistence-unit name="HibernateCRUDPU" transaction-type="RESOURCE_LOCAL"&gt; &lt;provider&gt;org.hibernate.ejb.HibernatePersistence&lt;/provider&gt; &lt;class&gt;Model.Maca&lt;/class&gt; &lt;properties&gt; &lt;property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/&gt; &lt;property name="hibernate.connection.username" value="root"/&gt; &lt;property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/&gt; &lt;property name="hibernate.connection.password" value="admin"/&gt; &lt;property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/hibernate"/&gt; &lt;property name="hibernate.hbm2ddl.auto" value="update"/&gt; &lt;/properties&gt; &lt;/persistence-unit&gt; &lt;/persistence&gt;

Criado 1 de maio de 2013
Ultima resposta 2 de mai. de 2013
Respostas 17
Participantes 3