Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561

    [JAVA - HIBERNATE] Errore entity non conosciuta

    Buongiorno.

    Riporto qui il codice del main:

    codice:
    package it.campagna.annuncimmobiliari.entity;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.boot.Metadata;
    import org.hibernate.boot.MetadataSources;
    import org.hibernate.boot.registry.StandardServiceRegistry;
    import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.service.ServiceRegistry;
    
    
    
    
    
    
    
    
    public class HibernateTestDemo {
        
         //Session factory
        private static final SessionFactory sessionFactory = buildSesssionFactory();
        
        private static SessionFactory buildSesssionFactory() {
            // Create a StandardServiceRegistry
            Configuration configuration = new Configuration();
            configuration.addAnnotatedClass(it.campagna.annuncimmobiliari.entity.Agenzia.class);
            configuration.setProperty("hibernate.temp.use_jdbc_metadata_defaults","false");
            configuration.configure();
    
    
            final ServiceRegistry registry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
            return new org.hibernate.boot.MetadataSources(registry).buildMetadata().buildSessionFactory();
    
    
    
    
        }
        public static void main(String[] args)
        {
           //Create the model object
            Agenzia agenzia1 = new Agenzia();
            Agenzia agenzia2 = new Agenzia();
            agenzia1.setId(1);
            agenzia1.setNome("Dinesh");
            agenzia1.setCognome("Rajput");
            
            agenzia2.setId(2);
            agenzia2.setNome("Anamika"); 
            agenzia2.setCognome("Rajput");
           // Create Session Factory Object  – using annotation configuration object
          
          //Create Session object from session factory object
            Session session = sessionFactory.openSession();
            session.beginTransaction();
       
           //Use the session to save model objects
            session.save(agenzia1);
            session.save(agenzia2);
            session.getTransaction().commit();
            session.close();
           }
    }
    Per la classe Agenzia si ha invece:
    codice:
    package it.campagna.annuncimmobiliari.entity;
    
    
    import java.io.Serializable;
    import java.util.ArrayList;
    import java.util.List;
    
    
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.OneToMany;
    import javax.persistence.Table;
    
    
    import antlr.JavaCodeGeneratorPrintWriterManager;
    
    
    @Entity
    @Table(name="agenzia")
    public class Agenzia implements Serializable{
    
    
        @Id
        @GeneratedValue(strategy=GenerationType.IDENTITY)
        @Column(name="id")
        private int id;
        @Column(name="partita_iva")
        private String ptaIva;
        @Column(name="codice_fiscale")
        private String cf;
        @Column(name="login")
        private String login;
        @Column(name="password")
        private String pwd;
        @Column(name="nome")
        private String nome;
        @Column(name="cognome")
        private String cognome;
        @Column(name="ragione_sociale")
        private String ragioneSociale;
        @Column(name="email")
        private String email;
        @Column(name="telefono")
        private String tel;
        @Column(name="fax")
        private String fax;
        @Column(name="autorizzato")
        private boolean autorizzato;
        
        @OneToMany
        private List<Annuncio> annunci=new ArrayList<>();
        
        public Agenzia(){}
    
    
    
    
        public Agenzia(String nome, String cognome, String email) {
            
            this.nome = nome;
            this.cognome = cognome;
            this.email = email;
        }
        
        
    
    
        public Agenzia(String ptaIva, String cf, String login, String pwd, String nome, String cognome,
                String ragioneSociale, String email, String tel, String fax, boolean autorizzato) {
            
            this.ptaIva = ptaIva;
            this.cf = cf;
            this.login = login;
            this.pwd = pwd;
            this.nome = nome;
            this.cognome = cognome;
            this.ragioneSociale = ragioneSociale;
            this.email = email;
            this.tel = tel;
            this.fax = fax;
            this.autorizzato = autorizzato;
        }
    
    
    
    
        public int getId() {
            return id;
        }
    
    
    
    
        public void setId(int id) {
            this.id = id;
        }
    
    
    
    
        public String getNome() {
            return nome;
        }
    
    
    
    
        public void setNome(String nome) {
            this.nome = nome;
        }
    
    
    
    
        public String getCognome() {
            return cognome;
        }
    
    
    
    
        public void setCognome(String cognome) {
            this.cognome = cognome;
        }
    
    
    
    
        public String getEmail() {
            return email;
        }
    
    
    
    
        public void setEmail(String email) {
            this.email = email;
        }
    
    
    
    
        
        
        public String getPtaIva() {
            return ptaIva;
        }
    
    
    
    
        public void setPtaIva(String ptaIva) {
            this.ptaIva = ptaIva;
        }
    
    
    
    
        public String getCf() {
            return cf;
        }
    
    
    
    
        public void setCf(String cf) {
            this.cf = cf;
        }
    
    
    
    
        public String getLogin() {
            return login;
        }
    
    
    
    
        public void setLogin(String login) {
            this.login = login;
        }
    
    
    
    
        public String getPwd() {
            return pwd;
        }
    
    
    
    
        public void setPwd(String pwd) {
            this.pwd = pwd;
        }
    
    
    
    
        public String getRagioneSociale() {
            return ragioneSociale;
        }
    
    
    
    
        public void setRagioneSociale(String ragioneSociale) {
            this.ragioneSociale = ragioneSociale;
        }
    
    
    
    
        public String getTel() {
            return tel;
        }
    
    
    
    
        public void setTel(String tel) {
            this.tel = tel;
        }
    
    
    
    
        public String getFax() {
            return fax;
        }
    
    
    
    
        public void setFax(String fax) {
            this.fax = fax;
        }
    
    
    
    
        public boolean isAutorizzato() {
            return autorizzato;
        }
    
    
    
    
        public void setAutorizzato(boolean autorizzato) {
            this.autorizzato = autorizzato;
        }
    
    
    
    
        @Override
        public String toString() {
            return "Agenzia [id=" + id + ", ptaIva=" + ptaIva + ", cf=" + cf + ", login=" + login + ", pwd=" + pwd
                    + ", nome=" + nome + ", cognome=" + cognome + ", ragioneSociale=" + ragioneSociale + ", email=" + email
                    + ", tel=" + tel + ", fax=" + fax + ", autorizzato=" + autorizzato + "]";
        }
        
    }

    Quando eseguo il main ottengo l'errore che la entity Agenzia non viene riconosciuta, perché?

    Grazie
    tulipan

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Sicuro che non ci sia dell'altro nello stackTrace dell'eccezione?
    Magari qualche errore relativo al file hibernate.cfg.xml?
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Quote Originariamente inviata da tulipan Visualizza il messaggio
    Buongiorno.

    Riporto qui il codice del main:

    codice:
    package it.campagna.annuncimmobiliari.entity;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.boot.Metadata;
    import org.hibernate.boot.MetadataSources;
    import org.hibernate.boot.registry.StandardServiceRegistry;
    import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.service.ServiceRegistry;
    
    
    
    
    
    
    
    
    public class HibernateTestDemo {
        
         //Session factory
        private static final SessionFactory sessionFactory = buildSesssionFactory();
        
        private static SessionFactory buildSesssionFactory() {
            // Create a StandardServiceRegistry
            Configuration configuration = new Configuration();
            configuration.addAnnotatedClass(it.campagna.annuncimmobiliari.entity.Agenzia.class);
            configuration.setProperty("hibernate.temp.use_jdbc_metadata_defaults","false");
            configuration.configure();
    
    
            final ServiceRegistry registry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
            return new org.hibernate.boot.MetadataSources(registry).buildMetadata().buildSessionFactory();
    
    
    
    
        }
        public static void main(String[] args)
        {
           //Create the model object
            Agenzia agenzia1 = new Agenzia();
            Agenzia agenzia2 = new Agenzia();
            agenzia1.setId(1);
            agenzia1.setNome("Dinesh");
            agenzia1.setCognome("Rajput");
            
            agenzia2.setId(2);
            agenzia2.setNome("Anamika"); 
            agenzia2.setCognome("Rajput");
           // Create Session Factory Object  – using annotation configuration object
          
          //Create Session object from session factory object
            Session session = sessionFactory.openSession();
            session.beginTransaction();
       
           //Use the session to save model objects
            session.save(agenzia1);
            session.save(agenzia2);
            session.getTransaction().commit();
            session.close();
           }
    }
    Per la classe Agenzia si ha invece:
    codice:
    package it.campagna.annuncimmobiliari.entity;
    
    
    import java.io.Serializable;
    import java.util.ArrayList;
    import java.util.List;
    
    
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.OneToMany;
    import javax.persistence.Table;
    
    
    import antlr.JavaCodeGeneratorPrintWriterManager;
    
    
    @Entity
    @Table(name="agenzia")
    public class Agenzia implements Serializable{
    
    
        @Id
        @GeneratedValue(strategy=GenerationType.IDENTITY)
        @Column(name="id")
        private int id;
        @Column(name="partita_iva")
        private String ptaIva;
        @Column(name="codice_fiscale")
        private String cf;
        @Column(name="login")
        private String login;
        @Column(name="password")
        private String pwd;
        @Column(name="nome")
        private String nome;
        @Column(name="cognome")
        private String cognome;
        @Column(name="ragione_sociale")
        private String ragioneSociale;
        @Column(name="email")
        private String email;
        @Column(name="telefono")
        private String tel;
        @Column(name="fax")
        private String fax;
        @Column(name="autorizzato")
        private boolean autorizzato;
        
        @OneToMany
        private List<Annuncio> annunci=new ArrayList<>();
        
        public Agenzia(){}
    
    
    
    
        public Agenzia(String nome, String cognome, String email) {
            
            this.nome = nome;
            this.cognome = cognome;
            this.email = email;
        }
        
        
    
    
        public Agenzia(String ptaIva, String cf, String login, String pwd, String nome, String cognome,
                String ragioneSociale, String email, String tel, String fax, boolean autorizzato) {
            
            this.ptaIva = ptaIva;
            this.cf = cf;
            this.login = login;
            this.pwd = pwd;
            this.nome = nome;
            this.cognome = cognome;
            this.ragioneSociale = ragioneSociale;
            this.email = email;
            this.tel = tel;
            this.fax = fax;
            this.autorizzato = autorizzato;
        }
    
    
    
    
        public int getId() {
            return id;
        }
    
    
    
    
        public void setId(int id) {
            this.id = id;
        }
    
    
    
    
        public String getNome() {
            return nome;
        }
    
    
    
    
        public void setNome(String nome) {
            this.nome = nome;
        }
    
    
    
    
        public String getCognome() {
            return cognome;
        }
    
    
    
    
        public void setCognome(String cognome) {
            this.cognome = cognome;
        }
    
    
    
    
        public String getEmail() {
            return email;
        }
    
    
    
    
        public void setEmail(String email) {
            this.email = email;
        }
    
    
    
    
        
        
        public String getPtaIva() {
            return ptaIva;
        }
    
    
    
    
        public void setPtaIva(String ptaIva) {
            this.ptaIva = ptaIva;
        }
    
    
    
    
        public String getCf() {
            return cf;
        }
    
    
    
    
        public void setCf(String cf) {
            this.cf = cf;
        }
    
    
    
    
        public String getLogin() {
            return login;
        }
    
    
    
    
        public void setLogin(String login) {
            this.login = login;
        }
    
    
    
    
        public String getPwd() {
            return pwd;
        }
    
    
    
    
        public void setPwd(String pwd) {
            this.pwd = pwd;
        }
    
    
    
    
        public String getRagioneSociale() {
            return ragioneSociale;
        }
    
    
    
    
        public void setRagioneSociale(String ragioneSociale) {
            this.ragioneSociale = ragioneSociale;
        }
    
    
    
    
        public String getTel() {
            return tel;
        }
    
    
    
    
        public void setTel(String tel) {
            this.tel = tel;
        }
    
    
    
    
        public String getFax() {
            return fax;
        }
    
    
    
    
        public void setFax(String fax) {
            this.fax = fax;
        }
    
    
    
    
        public boolean isAutorizzato() {
            return autorizzato;
        }
    
    
    
    
        public void setAutorizzato(boolean autorizzato) {
            this.autorizzato = autorizzato;
        }
    
    
    
    
        @Override
        public String toString() {
            return "Agenzia [id=" + id + ", ptaIva=" + ptaIva + ", cf=" + cf + ", login=" + login + ", pwd=" + pwd
                    + ", nome=" + nome + ", cognome=" + cognome + ", ragioneSociale=" + ragioneSociale + ", email=" + email
                    + ", tel=" + tel + ", fax=" + fax + ", autorizzato=" + autorizzato + "]";
        }
        
    }

    Quando eseguo il main ottengo l'errore che la entity Agenzia non viene riconosciuta, perché?

    Grazie
    tulipan
    Potresti postare la definizione della classe Annuncio che è una collection sotto la tua classe Agenzia?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.