These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 
Author Message
 Post subject: Help with error: IllegalArgumentException occurred
PostPosted: Wed May 18, 2011 6:25 am 
Newbie

Joined: Wed May 18, 2011 6:11 am
Posts: 3
Hi,

I am trying out hibernate but i am experiencing problems..

Also looked @ google for solutions but could'nt found a solution that worked for me.

Can someone give me a push in the right direction?
Would appreciate it..

Thanks in advance!

Here are the classes and mapping files:
Hengel.java
Code:
package Model;
// Generated May 16, 2011 10:34:10 AM by Hibernate Tools 3.2.1.GA


import java.util.HashSet;
import java.util.Set;

/**
* Hengel generated by hbm2java
*/
public class Hengel  implements java.io.Serializable {


     private Integer code;
     private String merk;
     private Integer gevangenvissen;
     private Set<Vis> vises;

    public Hengel() {
    }

    public Hengel(String merk, Integer gevangenvissen, Set<Vis> vises) {
        vises = new HashSet<Vis>();
       
       this.merk = merk;
       this.gevangenvissen = gevangenvissen;
       this.vises = vises;
    }
   
    public Integer getCode() {
        return this.code;
    }
   
    public void setCode(Integer code) {
        this.code = code;
    }
    public String getMerk() {
        return this.merk;
    }
   
    public void setMerk(String merk) {
        this.merk = merk;
    }
    public Integer getGevangenvissen() {
        return this.gevangenvissen;
    }
   
    public void setGevangenvissen(Integer gevangenvissen) {
        this.gevangenvissen = gevangenvissen;
    }
    public Set<Vis> getVises() {
        return this.vises;
    }
   
    public void setVises(Set<Vis> vises) {
        System.out.println(vises.size() );
        this.vises = vises;
    }




}


Hengel.hbm.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated May 16, 2011 10:34:10 AM by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
  <class catalog="vissen" name="Model.Hengel" table="hengel">
    <id name="code" type="java.lang.Integer">
      <column name="code"/>
      <generator class="identity"/>
    </id>
    <property name="merk" type="string">
      <column length="50" name="merk"/>
    </property>
    <property name="gevangenvissen" type="java.lang.Integer">
      <column name="gevangenvissen"/>
    </property>
<!--    <set inverse="true" name="vises">
      <key>
        <column name="hengelCode"/>
      </key>
      <one-to-many class="Model.Vis"/>
    </set>-->
    <bag name="vises">
        <key column="hengelCode"/>
        <one-to-many class="Model.Vis"/>
    </bag>
  </class>
</hibernate-mapping>



Vis.java

Code:
package Model;
// Generated May 16, 2011 10:34:10 AM by Hibernate Tools 3.2.1.GA
/**
* Vis generated by hbm2java
*/
public class Vis  implements java.io.Serializable {


     private Integer code;
     private Hengel hengel;
     private String kleur;
     private Double gewicht;

    public Vis() {
    }

    public Vis(Hengel hengel, String kleur, Double gewicht) {
       this.hengel = hengel;
       this.kleur = kleur;
       this.gewicht = gewicht;
    }
   
    public Integer getCode() {
        return this.code;
    }
   
    public void setCode(Integer code) {
        this.code = code;
    }
    public Hengel getHengel() {
        return this.hengel;
    }
   
    public void setHengel(Hengel hengel) {
        this.hengel = hengel;
    }
    public String getKleur() {
        return this.kleur;
    }
   
    public void setKleur(String kleur) {
        this.kleur = kleur;
    }
    public Double getGewicht() {
        return this.gewicht;
    }
   
    public void setGewicht(Double gewicht) {
        this.gewicht = gewicht;
    }
}


Vis.hbm.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated May 16, 2011 10:34:10 AM by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
  <class catalog="vissen" name="Model.Vis" table="vis">
    <id name="code" type="java.lang.Integer">
      <column name="code"/>
      <generator class="identity"/>
    </id>
    <many-to-one class="Model.Hengel" name="hengel">
      <column name="hengelCode"/>
    </many-to-one>
    <property name="kleur" type="string">
      <column length="50" name="kleur"/>
    </property>
    <property name="gewicht" type="java.lang.Double">
      <column name="gewicht" precision="22" scale="0"/>
    </property>
  </class>
</hibernate-mapping>



Errorcode:
Code:
Hibernate: select vis0_.code as col_0_0_ from vissen.vis vis0_
Hibernate: select hengel0_.code as col_0_0_ from vissen.hengel hengel0_
Hibernate: select vis0_.code as code0_0_, vis0_.hengelCode as hengelCode0_0_, vis0_.kleur as kleur0_0_, vis0_.gewicht as gewicht0_0_ from vissen.vis vis0_ where vis0_.code=?
May 18, 2011 3:18:31 AM org.hibernate.property.BasicPropertyAccessor$BasicSetter set
SEVERE: IllegalArgumentException in class: Model.Hengel, setter method of property: vises
Hibernate: select hengel0_.code as code1_0_, hengel0_.merk as merk1_0_, hengel0_.gevangenvissen as gevangen3_1_0_ from vissen.hengel hengel0_ where hengel0_.code=?
May 18, 2011 3:18:31 AM org.hibernate.property.BasicPropertyAccessor$BasicSetter set
SEVERE: expected type: java.util.Set, actual value: org.hibernate.collection.PersistentBag
May 18, 2011 3:18:31 AM org.hibernate.event.def.DefaultLoadEventListener onLoad
INFO: Error performing load command
org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of Model.Hengel.vises
        at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:104)
        at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337)
        at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200)
        at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3566)
        at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:129)
        at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:854)
        at org.hibernate.loader.Loader.doQuery(Loader.java:729)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
        at org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
        at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
        at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
        at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3044)
Hibernate: select vis0_.code as code0_0_, vis0_.hengelCode as hengelCode0_0_, vis0_.kleur as kleur0_0_, vis0_.gewicht as gewicht0_0_ from vissen.vis vis0_ where vis0_.code=?
        at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:395)
        at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:375)
        at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:139)
        at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:98)
        at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
        at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:836)
        at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:66)
        at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
        at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:150)
        at Model.Hengel$$EnhancerByCGLIB$$151b02f9.toString(<generated>)
        at javax.swing.table.DefaultTableCellRenderer.setValue(DefaultTableCellRenderer.java:352)
        at javax.swing.table.DefaultTableCellRenderer.getTableCellRendererComponent(DefaultTableCellRenderer.java:237)
        at javax.swing.JTable.prepareRenderer(JTable.java:5720)
        at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2072)
        at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:1974)
        at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1770)
Hibernate: select vis0_.code as code0_0_, vis0_.hengelCode as hengelCode0_0_, vis0_.kleur as kleur0_0_, vis0_.gewicht as gewicht0_0_ from vissen.vis vis0_ where vis0_.code=?
        at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143)
        at javax.swing.JComponent.paintComponent(JComponent.java:752)
        at javax.swing.JComponent.paint(JComponent.java:1029)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JViewport.paint(JViewport.java:747)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paintToOffscreen(JComponent.java:5131)
        at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278)
        at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
        at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
        at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
        at java.awt.Container.paint(Container.java:1780)
        at java.awt.Window.paint(Window.java:3375)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
        at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:42)
        ... 62 more
Exception in thread "AWT-EventQueue-0" org.hibernate.PropertyAccessException: IllegalArgumentException occurred while calling setter of Model.Hengel.vises
        at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:104)
        at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337)
        at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200)
        at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3566)
        at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:129)
        at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:854)
        at org.hibernate.loader.Loader.doQuery(Loader.java:729)
Hibernate: select vis0_.code as code0_0_, vis0_.hengelCode as hengelCode0_0_, vis0_.kleur as kleur0_0_, vis0_.gewicht as gewicht0_0_ from vissen.vis vis0_ where vis0_.code=?
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
        at org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
        at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
        at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
        at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3044)
        at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:395)
        at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:375)
        at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:139)
        at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:98)
        at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
        at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:836)
        at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:66)
        at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
        at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:150)
        at Model.Hengel$$EnhancerByCGLIB$$151b02f9.toString(<generated>)
        at javax.swing.table.DefaultTableCellRenderer.setValue(DefaultTableCellRenderer.java:352)
        at javax.swing.table.DefaultTableCellRenderer.getTableCellRendererComponent(DefaultTableCellRenderer.java:237)
        at javax.swing.JTable.prepareRenderer(JTable.java:5720)
        at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2072)
        at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:1974)
        at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1770)
        at javax.swing.plaf.ComponentUI.update(ComponentUI.java:143)
        at javax.swing.JComponent.paintComponent(JComponent.java:752)
        at javax.swing.JComponent.paint(JComponent.java:1029)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JViewport.paint(JViewport.java:747)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paint(JComponent.java:1038)
        at javax.swing.JLayeredPane.paint(JLayeredPane.java:567)
        at javax.swing.JComponent.paintChildren(JComponent.java:862)
        at javax.swing.JComponent.paintToOffscreen(JComponent.java:5131)
        at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:278)
        at javax.swing.RepaintManager.paint(RepaintManager.java:1224)
        at javax.swing.JComponent.paint(JComponent.java:1015)
        at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
        at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
        at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
        at java.awt.Container.paint(Container.java:1780)
        at java.awt.Window.paint(Window.java:3375)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
        at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:713)
        at javax.swing.RepaintManager.seqPaintDirtyRegions(RepaintManager.java:693)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:125)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:42)
        ... 62 more



Top
 Profile  
 
 Post subject: Re: Help with error: IllegalArgumentException occurred
PostPosted: Wed May 18, 2011 6:52 am 
Expert
Expert

Joined: Wed Mar 03, 2004 6:35 am
Posts: 1240
Location: Lund, Sweden
If I am not mistaken, bags are implemented as List, not Set. In Hengel.hbm.xml you have:

Code:
<bag name="vises">


but in Hengel.java:

Code:
public void setVises(Set<Vis> vises)


Top
 Profile  
 
 Post subject: Re: Help with error: IllegalArgumentException occurred
PostPosted: Wed May 18, 2011 7:01 am 
Newbie

Joined: Wed May 18, 2011 6:11 am
Posts: 3
nordborg wrote:
If I am not mistaken, bags are implemented as List, not Set. In Hengel.hbm.xml you have:

Code:
<bag name="vises">


but in Hengel.java:

Code:
public void setVises(Set<Vis> vises)

Oh my god, serious..

I changed vises to type List, then define it as arraylist..
that worked for me..
Damn:D thanks!!


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.