Delete Row from MySql Table using Hibernate -


hello fresher took application online trying run parameters using is

maven springmvc mysql java eclipse

i able create table in database code , delet when trying dete withoutr using save option it's giving me error ****org.hibernate.event.def.defaultdeleteeventlistener deletetransiententity info: handling transient entity in delete processing**** when checked online show object of row in app.java page delete object delete row don't know how object , how pass row of database in object(how field mbedded object , how object)plz want delete row database base on column name specific value

app.java class

package com.mkyong.common; import org.hibernate.session; import com.mkyong.persistence.hibernateutil;  public class app  {     public static void main( string[] args )     {         system.out.println("maven + hibernate + mysql");         session session = hibernateutil.getsessionfactory().opensession();          session.begintransaction();         stock stock = new stock();          stock.setstockcode("4715");         stock.setstockname("genm");          stock.getstockcode();         stock.getstockname();          //session.save(stock);          session.delete(stock);          session.gettransaction().commit();       } } 

apptest.java

package com.mkyong.common;  import junit.framework.test; import junit.framework.testcase; import junit.framework.testsuite;  /**  * unit test simple app.  */ public class apptest      extends testcase {     /**      * create test case      *      * @param testname name of test case      */     public apptest( string testname )     {         super( testname );     }      /**      * @return suite of tests being tested      */  public static test suite() {     return new testsuite( apptest.class ); }  /**  * rigourous test :-)  */ public void testapp() {     asserttrue( true ); } 

}

stock.java

package com.mkyong.common;  import javax.persistence.column; import javax.persistence.entity; import javax.persistence.generatedvalue; import static javax.persistence.generationtype.identity; import javax.persistence.id; import javax.persistence.table; import javax.persistence.uniqueconstraint;  @entity @table(name = "stock", catalog = "gagan", uniqueconstraints = {         @uniqueconstraint(columnnames = "stock_name"),         @uniqueconstraint(columnnames = "stock_code") }) public class stock implements java.io.serializable {      private integer stockid;     private string stockcode;     private string stockname;      public stock() {     }      public stock(string stockcode, string stockname) {         this.stockcode = stockcode;         this.stockname = stockname;     }      @id     @generatedvalue(strategy = identity)     @column(name = "stock_id", unique = true, nullable = false)     public integer getstockid() {         return this.stockid;     }      public void setstockid(integer stockid) {         this.stockid = stockid;     }      @column(name = "stock_code", unique = true, nullable = false, length = 10)     public string getstockcode() {         return this.stockcode;     }      public void setstockcode(string stockcode) {         this.stockcode = stockcode;     }      @column(name = "stock_name", unique = true, nullable = false, length = 20)     public string getstockname() {         return this.stockname;     }      public void setstockname(string stockname) {         this.stockname = stockname;     }  }   hibernateutil.java        package com.mkyong.persistence;      import org.hibernate.sessionfactory;     import org.hibernate.cfg.annotationconfiguration;      public class hibernateutil {          private static final sessionfactory sessionfactory = buildsessionfactory();          private static sessionfactory buildsessionfactory() {             try {                 // create sessionfactory hibernate.cfg.xml                 return new annotationconfiguration().configure().buildsessionfactory();              }             catch (throwable ex) {                 // make sure log exception, might swallowed                 system.err.println("initial sessionfactory creation failed." + ex);                 throw new exceptionininitializererror(ex);             }         }          public static sessionfactory getsessionfactory() {             return sessionfactory;         }          public static void shutdown() {             // close caches , connection pools             getsessionfactory().close();         }      } 

hibernatecfg.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>       <!-- database connection settings -->      <property name="connection.driver_class">com.mysql.jdbc.driver</property>      <!-- database connection settings -->       <!-- uat database connection settings -->   <property name="connection.url">jdbc:mysql://localhost:3306/gagan</property>      <property name="connection.username">root</property>      <property name="connection.password">123456</property>      <property name="dialect">org.hibernate.dialect.mysqldialect</property>   <property name="show_sql">true</property>          <property name="hibernate.hbm2ddl.auto">update</property>          <!-- think before made change in below flag may clean   complete database -->         <mapping class="com.mkyong.common.stock"></mapping>     </session-factory> </hibernate-configuration> 

pom.xml

 <project xmlns="http://maven.apache.org/pom/4.0.0"         xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"       xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">       <modelversion>4.0.0</modelversion>       <groupid>com.mkyong.common</groupid>       <artifactid>hibernateexample</artifactid>       <packaging>jar</packaging>       <version>1.0-snapshot</version>       <name>hibernateexample</name>       <url>http://maven.apache.org</url>        <repositories>         <repository>           <id>jboss repository</id>           <url>http://repository.jboss.com/maven2/</url>         </repository>       </repositories>          <dependencies>           <dependency>           <groupid>junit</groupid>           <artifactid>junit</artifactid>           <version>3.8.1</version>           <scope>test</scope>         </dependency>          <!-- mysql database driver -->         <dependency>             <groupid>mysql</groupid>             <artifactid>mysql-connector-java</artifactid>             <version>5.1.9</version>         </dependency>          <!-- hibernate core -->         <dependency>             <groupid>hibernate</groupid>             <artifactid>hibernate3</artifactid>             <version>3.2.3.ga</version>         </dependency>          <!-- hibernate annotation -->      <dependency>        <groupid>org.hibernate</groupid>        <artifactid>hibernate-entitymanager</artifactid>        <version>4.3.5.final</version>       </dependency>       <dependency>        <groupid>org.hibernate</groupid>        <artifactid>hibernate-c3p0</artifactid>        <version>4.3.5.final</version>       </dependency>         <!-- hibernate library dependecy start -->         <dependency>             <groupid>dom4j</groupid>             <artifactid>dom4j</artifactid>             <version>1.6.1</version>         </dependency>          <dependency>             <groupid>commons-logging</groupid>             <artifactid>commons-logging</artifactid>             <version>1.1.1</version>         </dependency>          <dependency>             <groupid>commons-collections</groupid>             <artifactid>commons-collections</artifactid>             <version>3.2.1</version>         </dependency>           <dependency>             <groupid>cglib</groupid>             <artifactid>cglib</artifactid>             <version>2.2</version>         </dependency>         <!-- hibernate library dependecy end -->        </dependencies>     </project> 

[1]: http://i.stack.imgur.com/tkv2h.png 

you can not delete transient object. need first synchronize object database. example got id of stock component. here sample piece of code delete object based on stockid. when create object using hibernate return id. use id delete row database.

session session = hibernateutil.getsessionfactory().opensession();     try {         session.begintransaction();         serializable id =  stockid;         object persistentinstance = session.load(stock.class, id);         if (persistentinstance != null)  {             session.delete(persistentinstance);             session.gettransaction().commit();             system.out.println ("deleted sucessfully");           }         else {             system.out.println ("did not find  stock object in persistance");          }      }      catch (hibernateexception e) {         e.printstacktrace();      }      {         if(session!=null){             session.close();         }     } 

Comments

Popular posts from this blog

magento2 - Magento 2 admin grid add filter to collection -

Android volley - avoid multiple requests of the same kind to the server? -

Combining PHP Registration and Login into one class with multiple functions in one PHP file -