Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [JPA] neatbeans Problema con il create Entity manager For databse

    come dice il titolo ho problema nella implementazione dal db all'entiti manager io ho 3 classi
    ordinabile piatto e menu dove paitto e menu sn specializzazione di ordinabile.

    il problema e che netbeans concreate entity manager for database crea queste 3 classi come semplice classi e non crea la specializzazione come dovere.....

    io spero nn so cosa modificare di queste classi e non so dove mettere mani. ho provatoa leggermi guide ma non ho trovato nulla di specifico se qualcuno puo likarmi qualche guida fatta bene che tratta questo orgamenti ....
    ho provato pure a leggermi i vari articoli su jpa su html.it ma niente ho sn riuscito a cpaire molto.

    il db è questo:



    il codice delle 2 classe è questo:
    piatto :
    codice:
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package model;
    
    import java.io.Serializable;
    import java.util.Collection;
    import javax.persistence.Basic;
    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.Lob;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    import javax.persistence.OneToMany;
    import javax.persistence.OneToOne;
    import javax.persistence.Table;
    import javax.validation.constraints.NotNull;
    import javax.validation.constraints.Size;
    import javax.xml.bind.annotation.XmlRootElement;
    import javax.xml.bind.annotation.XmlTransient;
    
    /**
     *
     * @author orphen
     */
    @Entity
    @Table(name = "piatto")
    @XmlRootElement
    @NamedQueries({
        @NamedQuery(name = "Piatto.findAll", query = "SELECT p FROM Piatto p"),
        @NamedQuery(name = "Piatto.findByOrdinabilecod", query = "SELECT p FROM Piatto p WHERE p.ordinabilecod = :ordinabilecod"),
        @NamedQuery(name = "Piatto.findByNome", query = "SELECT p FROM Piatto p WHERE p.nome = :nome"),
        @NamedQuery(name = "Piatto.findByPrezzo", query = "SELECT p FROM Piatto p WHERE p.prezzo = :prezzo"),
        @NamedQuery(name = "Piatto.findByImage", query = "SELECT p FROM Piatto p WHERE p.image = :image")})
    public class Piatto implements Serializable {
        private static final long serialVersionUID = 1L;
        @Id
        @Basic(optional = true)
        @NotNull
        @Column(name = "ordinabilecod")
        private Integer ordinabilecod;
        @Lob
        @Size(max = 65535)
        @Column(name = "descrizione")
        private String descrizione;
        @Basic(optional = false)
        @NotNull
        @Size(min = 1, max = 255)
        @Column(name = "nome")
        private String nome;
        @Basic(optional = false)
        @NotNull
        @Column(name = "prezzo")
        private double prezzo;
        @Size(max = 255)
        @Column(name = "image")
        private String image;
        @JoinColumn(name = "ordinabilecod", referencedColumnName = "cod", insertable = false, updatable = false)
        @OneToOne(optional = false)
        private Ordinabile ordinabile;
        @OneToMany(cascade = CascadeType.ALL, mappedBy = "piatto")
        private Collection<MenuPiatti> menuPiattiCollection;
    
        public Piatto() {
        }
    
        public Piatto(Integer ordinabilecod) {
            this.ordinabilecod = ordinabilecod;
        }
    
        public Piatto(Integer ordinabilecod, String nome, double prezzo) {
            this.ordinabilecod = ordinabilecod;
            this.nome = nome;
            this.prezzo = prezzo;
        }
    
        public Integer getOrdinabilecod() {
            return ordinabilecod;
        }
    
        public void setOrdinabilecod(Integer ordinabilecod) {
            this.ordinabilecod = ordinabilecod;
        }
    
        public String getDescrizione() {
            return descrizione;
        }
    
        public void setDescrizione(String descrizione) {
            this.descrizione = descrizione;
        }
    
        public String getNome() {
            return nome;
        }
    
        public void setNome(String nome) {
            this.nome = nome;
        }
    
        public double getPrezzo() {
            return prezzo;
        }
    
        public void setPrezzo(double prezzo) {
            this.prezzo = prezzo;
        }
    
        public String getImage() {
            return image;
        }
    
        public void setImage(String image) {
            this.image = image;
        }
    
        public Ordinabile getOrdinabile() {
            return ordinabile;
        }
    
        public void setOrdinabile(Ordinabile ordinabile) {
            this.ordinabile = ordinabile;
        }
    
        @XmlTransient
        public Collection<MenuPiatti> getMenuPiattiCollection() {
            return menuPiattiCollection;
        }
    
        public void setMenuPiattiCollection(Collection<MenuPiatti> menuPiattiCollection) {
            this.menuPiattiCollection = menuPiattiCollection;
        }
    
        @Override
        public int hashCode() {
            int hash = 0;
            hash += (ordinabilecod != null ? ordinabilecod.hashCode() : 0);
            return hash;
        }
    
        @Override
        public boolean equals(Object object) {
            // TODO: Warning - this method won't work in the case the id fields are not set
            if (!(object instanceof Piatto)) {
                return false;
            }
            Piatto other = (Piatto) object;
            if ((this.ordinabilecod == null && other.ordinabilecod != null) || (this.ordinabilecod != null && !this.ordinabilecod.equals(other.ordinabilecod))) {
                return false;
            }
            return true;
        }
    
        @Override
        public String toString() {
            return "model.Piatto[ ordinabilecod=" + ordinabilecod + " ]";
        }
        
    }
    menu:
    codice:
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package model;
    
    import java.io.Serializable;
    import java.util.Collection;
    import javax.persistence.Basic;
    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.JoinColumn;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    import javax.persistence.OneToMany;
    import javax.persistence.OneToOne;
    import javax.persistence.Table;
    import javax.validation.constraints.NotNull;
    import javax.validation.constraints.Size;
    import javax.xml.bind.annotation.XmlRootElement;
    import javax.xml.bind.annotation.XmlTransient;
    
    /**
     *
     * @author orphen
     */
    @Entity
    @Table(name = "menu")
    @XmlRootElement
    @NamedQueries({
        @NamedQuery(name = "Menu.findAll", query = "SELECT m FROM Menu m"),
        @NamedQuery(name = "Menu.findByOrdinabilecod", query = "SELECT m FROM Menu m WHERE m.ordinabilecod = :ordinabilecod"),
        @NamedQuery(name = "Menu.findByDescrizione", query = "SELECT m FROM Menu m WHERE m.descrizione = :descrizione"),
        @NamedQuery(name = "Menu.findByNome", query = "SELECT m FROM Menu m WHERE m.nome = :nome"),
        @NamedQuery(name = "Menu.findByPrezzo", query = "SELECT m FROM Menu m WHERE m.prezzo = :prezzo")})
    public class Menu implements Serializable {
        private static final long serialVersionUID = 1L;
        @Id
        @Basic(optional = true)
        @NotNull
        @Column(name = "ordinabilecod")
        private Integer ordinabilecod;
        @Size(max = 255)
        @Column(name = "descrizione")
        private String descrizione;
        @Basic(optional = false)
        @NotNull
        @Size(min = 1, max = 255)
        @Column(name = "nome")
        private String nome;
        @Basic(optional = false)
        @NotNull
        @Column(name = "prezzo")
        private double prezzo;
        @JoinColumn(name = "ordinabilecod", referencedColumnName = "cod", insertable = false, updatable = false)
        @OneToOne(optional = false)
        private Ordinabile ordinabile;
        @OneToMany(cascade = CascadeType.ALL, mappedBy = "menu")
        private Collection<MenuPiatti> menuPiattiCollection;
    
        public Menu() {
        }
    
        public Menu(Integer ordinabilecod) {
            this.ordinabilecod = ordinabilecod;
        }
    
        public Menu(Integer ordinabilecod, String nome, double prezzo) {
            this.ordinabilecod = ordinabilecod;
            this.nome = nome;
            this.prezzo = prezzo;
        }
    
        public Integer getOrdinabilecod() {
            return ordinabilecod;
        }
    
        public void setOrdinabilecod(Integer ordinabilecod) {
            this.ordinabilecod = ordinabilecod;
        }
    
        public String getDescrizione() {
            return descrizione;
        }
    
        public void setDescrizione(String descrizione) {
            this.descrizione = descrizione;
        }
    
        public String getNome() {
            return nome;
        }
    
        public void setNome(String nome) {
            this.nome = nome;
        }
    
        public double getPrezzo() {
            return prezzo;
        }
    
        public void setPrezzo(double prezzo) {
            this.prezzo = prezzo;
        }
    
        public Ordinabile getOrdinabile() {
            return ordinabile;
        }
    
        public void setOrdinabile(Ordinabile ordinabile) {
            this.ordinabile = ordinabile;
        }
    
        @XmlTransient
        public Collection<MenuPiatti> getMenuPiattiCollection() {
            return menuPiattiCollection;
        }
    
        public void setMenuPiattiCollection(Collection<MenuPiatti> menuPiattiCollection) {
            this.menuPiattiCollection = menuPiattiCollection;
        }
    
        @Override
        public int hashCode() {
            int hash = 0;
            hash += (ordinabilecod != null ? ordinabilecod.hashCode() : 0);
            return hash;
        }
    
        @Override
        public boolean equals(Object object) {
            // TODO: Warning - this method won't work in the case the id fields are not set
            if (!(object instanceof Menu)) {
                return false;
            }
            Menu other = (Menu) object;
            if ((this.ordinabilecod == null && other.ordinabilecod != null) || (this.ordinabilecod != null && !this.ordinabilecod.equals(other.ordinabilecod))) {
                return false;
            }
            return true;
        }
    
        @Override
        public String toString() {
            return "model.Menu[ ordinabilecod=" + ordinabilecod + " ]";
        }
        
    }

  2. #2
    continua-->
    ordinabile:
    codice:
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package model;
    
    import java.io.Serializable;
    import java.util.Collection;
    import javax.persistence.Basic;
    import javax.persistence.CascadeType;
    import javax.persistence.Column;
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    import javax.persistence.NamedQueries;
    import javax.persistence.NamedQuery;
    import javax.persistence.OneToMany;
    import javax.persistence.OneToOne;
    import javax.persistence.Table;
    import javax.validation.constraints.NotNull;
    import javax.xml.bind.annotation.XmlRootElement;
    import javax.xml.bind.annotation.XmlTransient;
    
    /**
     *
     * @author orphen
     */
    @Entity
    @Table(name = "ordinabile")
    @XmlRootElement
    @NamedQueries({
        @NamedQuery(name = "Ordinabile.findAll", query = "SELECT o FROM Ordinabile o"),
        @NamedQuery(name = "Ordinabile.findByCod", query = "SELECT o FROM Ordinabile o WHERE o.cod = :cod")})
    public class Ordinabile implements Serializable {
        private static final long serialVersionUID = 1L;
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        @Basic(optional = false)
        @NotNull
        @Column(name = "cod")
        private Integer cod;
        @OneToOne(cascade = CascadeType.ALL, mappedBy = "ordinabile")
        private Menu menu;
        @OneToOne(cascade = CascadeType.ALL, mappedBy = "ordinabile")
        private Piatto piatto;
        @OneToMany(cascade = CascadeType.ALL, mappedBy = "ordinabilecod")
        private Collection<Ordine> ordineCollection;
    
        public Ordinabile() {
        }
    
        public Ordinabile(Integer cod) {
            this.cod = cod;
        }
    
        public Integer getCod() {
            return cod;
        }
    
        public void setCod(Integer cod) {
            this.cod = cod;
        }
    
        public Menu getMenu() {
            return menu;
        }
    
        public void setMenu(Menu menu) {
            this.menu = menu;
        }
    
        public Piatto getPiatto() {
            return piatto;
        }
    
        public void setPiatto(Piatto piatto) {
            this.piatto = piatto;
        }
    
        @XmlTransient
        public Collection<Ordine> getOrdineCollection() {
            return ordineCollection;
        }
    
        public void setOrdineCollection(Collection<Ordine> ordineCollection) {
            this.ordineCollection = ordineCollection;
        }
    
        @Override
        public int hashCode() {
            int hash = 0;
            hash += (cod != null ? cod.hashCode() : 0);
            return hash;
        }
    
        @Override
        public boolean equals(Object object) {
            // TODO: Warning - this method won't work in the case the id fields are not set
            if (!(object instanceof Ordinabile)) {
                return false;
            }
            Ordinabile other = (Ordinabile) object;
            if ((this.cod == null && other.cod != null) || (this.cod != null && !this.cod.equals(other.cod))) {
                return false;
            }
            return true;
        }
    
        @Override
        public String toString() {
            return "model.Ordinabile[ cod=" + cod + " ]";
        }
        
    }
    questo e l'errore che da quando provo a fare un isnerimetno in ordinabile con queste 3 line di codice
    Ordinabile o= new Ordinabile();
    o.setCod(2);
    emtityManager.persist(o);
    l'errore che lancia e questo:
    codice:
    AVVERTENZA: Local Exception Stack: 
    Exception [EclipseLink-6023] (Eclipse Persistence Services - 2.2.0.v20110202-r8913): org.eclipse.persistence.exceptions.QueryException
    Exception Description: The list of fields to insert into the table [DatabaseTable(ordinabile)] is empty.  You must define at least one mapping for this table.
    	at org.eclipse.persistence.exceptions.QueryException.objectToInsertIsEmpty(QueryException.java:922)
    	at org.eclipse.persistence.internal.expressions.SQLInsertStatement.buildCallWithoutReturning(SQLInsertStatement.java:59)
    	at org.eclipse.persistence.internal.expressions.SQLModifyStatement.buildCall(SQLModifyStatement.java:61)
    	at org.eclipse.persistence.descriptors.ClassDescriptor.buildCallFromStatement(ClassDescriptor.java:702)
    	at org.eclipse.persistence.internal.queries.StatementQueryMechanism.setCallFromStatement(StatementQueryMechanism.java:387)
    	at org.eclipse.persistence.internal.queries.StatementQueryMechanism.prepareInsertObject(StatementQueryMechanism.java:301)
    	at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.prepareInsertObject(ExpressionQueryMechanism.java:1535)
    	at org.eclipse.persistence.queries.InsertObjectQuery.prepare(InsertObjectQuery.java:109)
    	at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:577)
    	at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:537)
    	at org.eclipse.persistence.internal.sessions.CommitManager.commitNewObjectsForClassWithChangeSet(CommitManager.java:216)
    	at org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:123)
    	at org.eclipse.persistence.internal.sessions.AbstractSession.writeAllObjectsWithChangeSet(AbstractSession.java:3766)
    	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabase(UnitOfWorkImpl.java:1404)
    	at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.commitToDatabase(RepeatableWriteUnitOfWork.java:616)
    	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1511)
    	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.issueSQLbeforeCompletion(UnitOfWorkImpl.java:3115)
    	at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.issueSQLbeforeCompletion(RepeatableWriteUnitOfWork.java:331)
    	at org.eclipse.persistence.transaction.AbstractSynchronizationListener.beforeCompletion(AbstractSynchronizationListener.java:157)
    	at org.eclipse.persistence.transaction.JTASynchronizationListener.beforeCompletion(JTASynchronizationListener.java:68)
    	at com.sun.enterprise.transaction.JavaEETransactionImpl.commit(JavaEETransactionImpl.java:437)
    	at com.sun.enterprise.transaction.JavaEETransactionManagerSimplified.commit(JavaEETransactionManagerSimplified.java:867)
    	at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5115)
    	at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4880)
    	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2039)
    	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1990)
    	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:222)
    	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
    	at $Proxy151.addOrdinabile(Unknown Source)
    	at servlet.AggiungiPiatto.doPost(AggiungiPiatto.java:94)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
    	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
    	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
    	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
    	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
    	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
    	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
    	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
    	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
    	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    	at java.lang.Thread.run(Thread.java:662)
    grazie per la'iuto

  3. #3
    ma cod non è un campo autogenerato? Dovrebbe essere serial. Quindi non puoi settare il suo valore. Prova ad inserire un record senza settare cod.
    lolide
    Java Programmer

    Informati

  4. #4
    all'inizio ho provato senza settare code e dave errore di ejb ...mentre settanto code non da errore di ejb ma da errore di mapping con l'hineritans dovrei configurare i jpa bene a mano e non so farlo ....
    cmq errore senza settare code è
    codice:
    INFO: file:/home/orphen/NetBeansProjects/GestioneRistorante/build/web/WEB-INF/classes/_GestioneRistorantePU login successful
    AVVERTENZA: A system exception occurred during an invocation on EJB GestioneRistorante method public void server.GestioneRistorante.addOrdinabile(model.Piatto)
    javax.ejb.EJBException
    	at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5194)
    	at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:5092)
    	at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4880)
    	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2039)
    	at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1990)
    	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:222)
    	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
    	at $Proxy158.addOrdinabile(Unknown Source)
    	at servlet.AggiungiPiatto.doPost(AggiungiPiatto.java:94)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
    	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
    	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
    	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
    	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
    	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
    	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
    	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
    	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
    	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
    	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    	at java.lang.Thread.run(Thread.java:662)
    sn giunto alla conclusione che togliere questa hineritans e semplificaro il db in modo + semplice cosi nn avro problema anche se volevo imarare ad usare questa funzione molto potente

  5. #5
    Da errore sul record piatto. Sicuro che non è null? Se è una chiave esterna not null e non la setti da errore.
    lolide
    Java Programmer

    Informati

  6. #6
    piatto non la posso settar ela chiave eserna perche e una specializzazione di ordinabile... cioe la sua chiave esterna è ordinabilecod una foreign key che punta alla id di ordinabile

    da quello che ho letto in giro su forum e guide anche in eng si dovrebbbe modifcare la entity generatoa da netbeans poiche e stata generata male non considera la specializzazione delle classi.
    questa specializzazione si dovrebbe fare con @MappedSuperclass o @Inheritance pero nn lo capiti bene come funzionano e non trovo guide concrete ma solo teoriche e fitizzi senza nessun esempio per farmi capire come usarle....

    ho le dispense del mio prof che parlano di @Inheritance pero anche li sono fate molto male vaghe non si capisce niente di niente .. l'unica cosa che sn riuscito a capire è che con @Inheritance si fa un generalizzazione cioe una ISA del db pero la specializzazione del db non riesco proprio a trovare nessuna guida per come trasformala in entity bean

    ormai mi arrendo usero un sottofuggi ... trasformo le specializzazione in semplici relazione con la classe principale togliento foreign key come primary key

  7. #7
    Scusa prova ad eliminare (o commentare) piatto in Ordinabile compresi i suoi metodi accessori, perchè è strano che ci sia un oggetto Piatto in Ordinabile. Dovrebbe essere il contrario forse, cioè l'oggetto Ordinabile dovrebbe stare in Piatto.

    Mica hai sbagliato i collegamenti nel DB?
    lolide
    Java Programmer

    Informati

  8. #8
    ummm ho pensato alla stessa cosa pero lo creato con un tool sql e mi sembra stano....

    ho controllato con phpmyadmin e forign key sn settate opportunamente cioe su piatto e su menu ... pero nn so come mai mettere piatto menu nella tabella ordinabile se se leggi il codice il create entity for database genera i ordinabile setPiatto e SetMenu che non so a che servono....


    cmq sn finalmente riuscito a trovare una guida decnete di ineritance e superclass da quelo ke ho capito non mi conviene usarle xd esendo tabelle piccole
    mi conviene tenerle seprate aggiunge un id alle sotto tabelle.

    http://en.wikibooks.org/wiki/Java_Pe...ce/Inheritance

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.