java hibernate Fehler "could not execute-Anweisung" in der Sitzung.save()

/**
 * Description of bankbranchcontactdetailsBean
 *
 * @author Vishal Jain
 */
package com.beans;

import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.TableGenerator;
import javax.persistence.Id;
import javax.persistence.Column;
import javax.persistence.Temporal;
import javax.persistence.UniqueConstraint;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import java.util.Date;

@Entity(name = "bankbranchcontactdetails")
@Table(name = "bankbranchcontactdetails", schema = "stserptest", uniqueConstraints = { @UniqueConstraint(columnNames = "BankBranchContactId") })
@TableGenerator(name = "bankbranchcontactdetailsgen", table = "bankbranchcontactdetails", pkColumnName = "BankBranchContactId")
public class bankbranchcontactdetailsBean extends SuperBeanClass implements
        SuperBeanInterface {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(columnDefinition = "mysql->int(10) unsigned", name = "BankBranchContactId", precision = 10, scale = 0, nullable = false, unique = true)
    private Integer _BankBranchContactId;

    @Column(columnDefinition = "mysql->int(10) unsigned", name = "BankBranchId", precision = 10, scale = 0, nullable = false)
    private Integer _BankBranchId;

    @Column(columnDefinition = "mysql->enum('Phone','Mobile','Fax','Telex')", name = "ContactType", length = 6, nullable = false)
    private String _ContactType;

    @Column(columnDefinition = "mysql->varchar(20)", name = "Contact", length = 20, nullable = false)
    private String _Contact;

    public bankbranchcontactdetailsBean() {

        _BankBranchId = 0;
        _ContactType = "";
        _Contact = "";
    }

    public bankbranchcontactdetailsBean(Integer __BankBranchId,
            String __ContactType, String __Contact) {

        _BankBranchId = __BankBranchId;
        _ContactType = __ContactType;
        _Contact = __Contact;
    }

    public Integer getBankBranchId() {
        return _BankBranchId;
    }

    public String getContactType() {
        return _ContactType;
    }

    public String getContact() {
        return _Contact;
    }

    public void setBankBranchId(Integer NewValue) {
        _BankBranchId = NewValue;
    }

    public void setContactType(String NewValue) {
        _ContactType = NewValue;
    }

    public void setContact(String NewValue) {
        _Contact = NewValue;
    }

}

/**
  * Description of hibernate.cfg.xml
  */
<?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>
        <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">password</property>
        <property name="hibernate.default_schema">v32</property>
        <property name="hibernate.hbm2ddl.auto">update</property>

        <mapping class="com.stserp.beans.bankbranchcontactdetailsBean" />

    </session-factory>
</hibernate-configuration>


/**
 * Description of ManagerClass
 *
 * @author Vishal Jain
 */
package com.beans;

import java.util.ArrayList;

import javax.swing.JOptionPane;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

public class ManagerClass {

    private static SessionFactory factory = null;
    private static ManagerClass _ManagerClass = null;

    public static SessionFactory createSessionFactory() {
        SessionFactory sessionFactory;
        Configuration configuration = new Configuration();
        configuration.configure();
        ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
                .applySettings(configuration.getProperties())
                .buildServiceRegistry();
        sessionFactory = configuration.buildSessionFactory(serviceRegistry);
        return sessionFactory;
    }

    public static SessionFactory getSessionFactory() {
        return factory;
    }

    public static ManagerClass getInstance() throws ExceptionInInitializerError {
        try {
            if (factory == null) {
                factory = createSessionFactory();
            }
            if (_ManagerClass == null) {
                _ManagerClass = new ManagerClass();
            }
        } catch (Throwable ex) {
            JOptionPane.showMessageDialog(
                    null,
                    "Failed to create sessionFactory object...\n"
                            + ex.getMessage(), "Error...", 0);
            throw new ExceptionInInitializerError(ex);
        } finally {
            return _ManagerClass;
        }
    }

    public ArrayList<Integer> SaveBeansList(Session session, String entityName,
            ArrayList<? extends SuperBeanClass> BeansList)
            throws HibernateException {
        ArrayList<Integer> IDs = null;
        try {
            IDs = new ArrayList<Integer>();
            for (SuperBeanClass element : BeansList) {
                IDs.add((Integer) session.save(entityName, element));
            }
        } catch (HibernateException e) {
            throw e;
        }
        return IDs;
    }

    public ArrayList<? extends SuperBeanClass> LoadTable(Session session,
            String TableName) throws HibernateException {
        ArrayList<? extends SuperBeanClass> beansList = null;
        try {
            beansList = (ArrayList<? extends SuperBeanClass>) session
                    .createQuery("FROM " + TableName).list();
        } catch (HibernateException e) {
            throw e;
        }
        return beansList;
    }

    public ArrayList<?> LoadConditional(Session session, String _query)
            throws HibernateException {
        ArrayList<?> beansList = null;
        try {
            beansList = (ArrayList<? extends SuperBeanClass>) session
                    .createQuery(_query).list();
        } catch (HibernateException e) {
            throw e;
        }
        return beansList;
    }

    public SuperBeanInterface LoadById(Session session, Class className,
            Integer ID) throws HibernateException {
        SuperBeanInterface BeanInterface = null;
        try {
            BeanInterface = (SuperBeanInterface) session.get(className, ID);
        } catch (HibernateException e) {
            throw e;
        }
        return BeanInterface;
    }

    public void DeleteById(Session session, Class className, Integer ID)
            throws HibernateException {
        try {
            session.delete(session.get(className, ID));
        } catch (HibernateException e) {
            throw e;
        }
    }
}


/**
 * Description of SuperBeanClass
 *
 * @author Vishal Jain
 */
package com.beans;

public class SuperBeanClass {
    public SuperBeanClass() {
    }
}


/**
 * Description of SuperBeanInterface
 *
 * @author Vishal Jain
 */
package com.beans;

public interface SuperBeanInterface {
}


OUTPUT

    enter code here

ClassName -- FileName -- MethodName -- LineNo.
org.hibernate.exception.internal.SQLExceptionTypeDelegate -- SQLExceptionTypeDelegate.java -- convert -- 82
org.hibernate.exception.internal.StandardSQLExceptionConverter -- StandardSQLExceptionConverter.java -- convert -- 49
org.hibernate.engine.jdbc.spi.SqlExceptionHelper -- SqlExceptionHelper.java -- convert -- 125
org.hibernate.engine.jdbc.spi.SqlExceptionHelper -- SqlExceptionHelper.java -- convert -- 110
org.hibernate.engine.jdbc.internal.ResultSetReturnImpl -- ResultSetReturnImpl.java -- executeUpdate -- 136
org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate -- IdentityGenerator.java -- executeAndExtract -- 96
org.hibernate.id.insert.AbstractReturningDelegate -- AbstractReturningDelegate.java -- performInsert -- 58
org.hibernate.persister.entity.AbstractEntityPersister -- AbstractEntityPersister.java -- insert -- 2975
org.hibernate.persister.entity.AbstractEntityPersister -- AbstractEntityPersister.java -- insert -- 3487
org.hibernate.action.internal.EntityIdentityInsertAction -- EntityIdentityInsertAction.java -- execute -- 81
org.hibernate.engine.spi.ActionQueue -- ActionQueue.java -- execute -- 377
org.hibernate.engine.spi.ActionQueue -- ActionQueue.java -- addResolvedEntityInsertAction -- 214
org.hibernate.engine.spi.ActionQueue -- ActionQueue.java -- addInsertAction -- 194
org.hibernate.engine.spi.ActionQueue -- ActionQueue.java -- addAction -- 178
org.hibernate.event.internal.AbstractSaveEventListener -- AbstractSaveEventListener.java -- addInsertAction -- 321
org.hibernate.event.internal.AbstractSaveEventListener -- AbstractSaveEventListener.java -- performSaveOrReplicate -- 286
org.hibernate.event.internal.AbstractSaveEventListener -- AbstractSaveEventListener.java -- performSave -- 192
org.hibernate.event.internal.AbstractSaveEventListener -- AbstractSaveEventListener.java -- saveWithGeneratedId -- 125
org.hibernate.event.internal.DefaultSaveOrUpdateEventListener -- DefaultSaveOrUpdateEventListener.java -- saveWithGeneratedOrRequestedId -- 206
org.hibernate.event.internal.DefaultSaveEventListener -- DefaultSaveEventListener.java -- saveWithGeneratedOrRequestedId -- 55
org.hibernate.event.internal.DefaultSaveOrUpdateEventListener -- DefaultSaveOrUpdateEventListener.java -- entityIsTransient -- 191
org.hibernate.event.internal.DefaultSaveEventListener -- DefaultSaveEventListener.java -- performSaveOrUpdate -- 49
org.hibernate.event.internal.DefaultSaveOrUpdateEventListener -- DefaultSaveOrUpdateEventListener.java -- onSaveOrUpdate -- 90
org.hibernate.internal.SessionImpl -- SessionImpl.java -- fireSave -- 764
org.hibernate.internal.SessionImpl -- SessionImpl.java -- save -- 756
com.stserp.beans.ManagerClass -- ManagerClass.java -- SaveBeansList -- 60
com.stserp.Program -- Program.java -- main -- 73

could not execute statement

Bitte helfen Sie mir mit dem Code wie ich nicht verstehen kann, warum bin ich immer diese "could not execute statement" error.

Habe ich viele Dinge versucht, aber keiner hat funktioniert. Einige Artikel sogar vorgeschlagen, um zu verwenden @cascade = {cascadeType = SAVE_UPDATE} aber ich will nicht link meiner Tabelle an jede beliebige andere Tabelle. Soll ich pflegen, die Beziehungen in meinem code nur. Es muss ein Weg gefunden werden, an denen Tabellen, wenn die nicht mit irgendeiner anderen Tabelle gespeichert werden können. Bitte helfen Sie.

  • Bitte versuchen Sie die Implementierung von Serializable-interface für Ihr Unternehmen (obwohl dies nicht auferlegt, Hibernate). Auch umbenennen _BankBranchContactId id. Und aktivieren hibernate_sql-Protokollierung finden Sie in der sql-Abfrage ausgelöst. Prüfen Sie auch, ob das schema "stserptest" ist ordnungsgemäß erstellt.
  • Dank Manjunath, Die Beratung war hilfreich. Jetzt bin ich nicht immer der angegebene Fehler. Noch einmal Auf die Verwendung von <property name="hibernate.hbm2ddl.auto">update</property> die neue Tabelle (bankbranchcontactdetails) wurde nicht erstellt. Können Sie mir helfen, das auch??????
  • Vishal wenn Sie möchten, erstellen neue Tabelle, die ich dann fühlen Sie brauchen, um set <property name="hibernate.hbm2ddl.auto" - >erstellen</property>. Bitte schreiben Sie die Lösung/fix was hast du für "could not execute-Anweisung" Fehler unten als Antwort auf Ihre Frage so, dass diese Frage doesnot zeigen, wie offen und würde auch profitieren viele Leser (mich eingeschlossen : -)), um zu wissen, über Dinge, die wir brauchen zu kümmern, während die Konfiguration der Entitäten. Dank
  • Manjunath <property name="hibernate.hbm2ddl.auto" - >erstellen</property> wird verwendet, um nur die Tabelle erstellen. Der zweite Eintrag bekommt overwitten. In der Erwägung, dass der <property name="hibernate.hbm2ddl.auto">update</property> , erstellt und Aktualisiert die Tabelle. Auch, Leider bin ich noch neu auf Stack Overflow, Bitte leite mich, wie man die gekennzeichneten Fragen beantwortet.
InformationsquelleAutor Vishal Jain | 2014-08-11
Schreibe einen Kommentar