java - Object enum return always null value -


return (list<typeactioncommerciale>) query.list(); 

i don't understand why variable type in list null when select enter image description here

my postgresql table: enter image description here

hibernatedaofactory:

public class hibernatedaofactory extends daofactory {     public hibernatedaofactory() {         super();     } ...     @override     public typeactioncommercialedao gettypeactioncommercialedao() {         return new hibernatetypeactioncommercialedao();     } ... 

hibernatetypeactioncommercialedao:

public class hibernatetypeactioncommercialedao extends hibernatedao implements typeactioncommercialedao {      public list<typeactioncommerciale> requestall() throws persistenceexception {         query query = createquery("from typeactioncommercialeimpl");         return (list<typeactioncommerciale>) query.list();     } ... 

typeactioncommercialedao:

public interface typeactioncommercialedao extends dao {     public list<typeactioncommerciale> requestall() throws persistenceexception; ... 

typeactioncommerciale:

public interface typeactioncommerciale {      public integer getid();     public void setid(integer id);     public integer getversion();     public void setversion(integer id);      public string getlibelle();     public void setlibelle(string libelle);      public string getcode();     public void setcode(string code);      public typeactioncommercialeenum gettype();     public void settype(typeactioncommercialeenum type);      public list<detailactioncommerciale> getvaleurpardefaut();     public void setvaleurpardefaut(list<detailactioncommerciale> valeurpardefaut);     public void addtovaleurpardefaut(detailactioncommerciale valeurpardefaut);        // ----------------     // operations     // ----------------      public boolean isppfcp();     public boolean isautresservices();  } 

typeactioncommercialeenum:

public enum typeactioncommercialeenum {     operation_de_mise_en_avant, operations_particulieres_de_communication_et_de_trade_marketing, information_des_clients_et_ou_publicite_sur_le_lieu_de_vente, operations_de_lancement_de_nouveaux_produits_avec_mise_en_avant, publicite_directe_consommateurs, convention_triannuelle, mise_a_disposition_du_labo, nip; } 

typeactioncommercialeimpl:

class typeactioncommercialeimpl implements typeactioncommerciale {      // ----------------     // attributes     // ----------------      private integer id;     private integer version;      /**  */     private string libelle;     /**  */     private string code;     /**  */     private typeactioncommercialeenum type;      // ----------------     // associations     // ----------------     private list<detailactioncommerciale> valeurpardefaut = (list<detailactioncommerciale>)new arraylist<detailactioncommerciale>();          // ----------------     // accessors     // ----------------      public integer getid() {         return id;     }      public void setid(integer id) {         this.id = id;     }      public integer getversion() {         return version;     }      public void setversion(integer version) {         this.version = version;     }      public string getlibelle() {         return libelle;     }     public void setlibelle(string libelle) {         this.libelle = libelle;     }      public string getcode() {         return code;     }     public void setcode(string code) {         this.code = code;     }      public typeactioncommercialeenum gettype() {         return type;     }     public void settype(typeactioncommercialeenum type) {         this.type = type;     }      // ----------------     // associations accessors     // ----------------      public list<detailactioncommerciale> getvaleurpardefaut() {         if (valeurpardefaut == null) {             valeurpardefaut = new arraylist<detailactioncommerciale>();         }         return valeurpardefaut;     }       public void setvaleurpardefaut(list<detailactioncommerciale> valeurpardefaut) {         this.valeurpardefaut = valeurpardefaut;     }      public void addtovaleurpardefaut(detailactioncommerciale valeurpardefaut) {         if (valeurpardefaut != null)             getvaleurpardefaut().add(valeurpardefaut);     }           // ----------------     // operations     // ----------------       // start of user code typeactioncommercialeimpl     public boolean isautresservices() {         switch (this.gettype()) {             case nip:             case convention_triannuelle:             case mise_a_disposition_du_labo:                 return true;         }         return false;     }      public boolean isppfcp() {         return !isautresservices();     }     // end of user code typeactioncommercialeimpl       @override     public string tostring() {         string res =  "typeactioncommerciale [id=" + getid() + "]";         // start of user code tostring()         // end of user code tostring()         return res;     }  } 

mapping:

<many-to-one name="typeactioncommerciale" class="com.app.metier.impl.typeactioncommercialeimpl" column="typeactioncommercialeid" access="field"  cascade="persist,merge,save-update" />  <class name="com.app.metier.impl.typeactioncommercialeimpl"     table="typeactioncommerciale" discriminator-value="com.app.metier.typeactioncommerciale"     proxy="com.app.metier.typeactioncommerciale"     optimistic-lock="version" dynamic-update="true" dynamic-insert="true">     <id name="id" column="id">         <generator class="native" />     </id>     <discriminator column="discriminator" type="string" />     <!-- <version name="version" type="integer" unsaved-value="null"></version> -->      <property name="libelle" length="255" />     <property name="code" length="255" />     <property name="type"         type="com.app.persistence.hibernate.usertype.typeactioncommercialeenumusertype" />      <list name="valeurpardefaut" cascade="all" lazy="true">         <key column="valeurpardefaut_typeactioncommercialeid" />         <index column="list_index_valeurpardefaut" />         <one-to-many             class="com.app.metier.impl.detailactioncommercialeimpl" />     </list> </class> 

typeactioncommercialeenumusertype:

public class typeactioncommercialeenumusertype extends enumusertype<typeactioncommercialeenum> {     public typeactioncommercialeenumusertype() {         super(typeactioncommercialeenum.class);     } } 

i resolve pb have class public class enumusertype<e extends enum<e>> implements usertype , implement method:

@override public object nullsafeget(resultset rs, string[] names, sessionimplementor session, object owner)         throws hibernateexception, sqlexception {      string name = rs.getstring(names[0]);           object result = null;           if (!rs.wasnull()) {               result = enum.valueof(clazz, name);           }           return result; }  @override public void nullsafeset(preparedstatement st, object value, int index, sessionimplementor session)         throws hibernateexception, sqlexception {     if (null == value) {           st.setnull(index, types.varchar);       } else {           st.setstring(index, ((enum<e>) value).name());       }    }  

Comments

Popular posts from this blog

authentication - Mongodb revoke acccess to connect test database -

r - Update two sets of radiobuttons reactively - shiny -

ios - Realm over CoreData should I use NSFetchedResultController or a Dictionary? -