À pouco tempo eu consegui que meu problema com o PropertyAccessException fosse resolvido aqui no GUJ, porém ele apareceu de novo e eu não sei o que fazer novamente :oops:
Ele apareceu com classes dieferentes claro, mas eu ja revisei todo o código e não acho a origem do erro.
Erro:
Exception in thread "AWT-EventQueue-0" org.hibernate.PropertyAccessException: could not get a field value by reflection getter of br.inf.topsoft.Model.tab_func.codfunc
at org.hibernate.property.DirectPropertyAccessor$DirectGetter.get(DirectPropertyAccessor.java:35)
at org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:183)
at org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:3591)
at org.hibernate.persister.entity.AbstractEntityPersister.isTransient(AbstractEntityPersister.java:3307)
at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:181)
at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:512)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:80)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:218)
at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
at org.hibernate.event.def.AbstractSaveEventListener.cascadeBeforeSave(AbstractSaveEventListener.java:431)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:265)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:181)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:187)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:172)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:94)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495)
at br.inf.topsoft.Dao.Tab_afasDao.Salvar(Tab_afasDao.java:25)
at br.inf.topsoft.View.FrmLanAfas.btGravaActionPerformed(FrmLanAfas.java:166)
at br.inf.topsoft.View.FrmLanAfas.access$100(FrmLanAfas.java:14)
at br.inf.topsoft.View.FrmLanAfas$2.actionPerformed(FrmLanAfas.java:57)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.IllegalArgumentException: Can not set java.lang.Integer field br.inf.topsoft.Model.tab_func.codfunc to java.lang.Integer
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:164)
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:168)
at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(UnsafeFieldAccessorImpl.java:55)
at sun.reflect.UnsafeObjectFieldAccessorImpl.get(UnsafeObjectFieldAccessorImpl.java:36)
at java.lang.reflect.Field.get(Field.java:372)
at org.hibernate.property.DirectPropertyAccessor$DirectGetter.get(DirectPropertyAccessor.java:32)
... 65 more
Essa classe ai em cima que o “Caused by” acusa é a seguinte:
[code]@Entity
@Table(name = “ponto.tab_func”)
public class tab_func implements Serializable {
@Id
@GeneratedValue(generator = "ponto.seq_tabfunc", strategy = GenerationType.AUTO)
@SequenceGenerator(name = "ponto.seq_tabfunc", sequenceName = "ponto.seq_tabfunc")
@Column(unique = true, name = "codfunc", updatable = false)
private Integer codfunc;// integer NOT NULL
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, targetEntity= tab_parc.class)
@JoinColumn(name="codparc", referencedColumnName="codparc", nullable=false)
private tab_parc codparc;// integer NOT NULL
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, targetEntity= tab_sind.class)
@JoinColumn(name="codsind", referencedColumnName="codsind")
private tab_sind codsind;// integer NOT NULL
@ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, targetEntity= tab_ocup.class)
@JoinColumn(name="codocup", referencedColumnName="codocup")
private tab_ocup codocup;// integer NOT NULL
@Column(name = "sal_base")
private Float sal_base;// numeric(12,2)
@Column(name = "sal_tipo")
private Integer sal_tipo;// smallint, -- 1 - Mensalista 2 - Horista 3 - Diarista 4 - Comissinista
@Column(name = "carga_horaria")
private Float carga_horaria;// numeric(10,4)
//getters e setters
}
[/code]
E sua respectiva DAO:
[code]public class Tab_funcDao implements DaoController<tab_func> {
Session s = HibernateUtil.getSessionFactory().openSession();
Transaction t;
@Override
public void Salvar(tab_func obj) {
t = this.s.beginTransaction();
s.saveOrUpdate(obj);
t.commit();
}
@Override
public void Alterar(tab_func obj) {
t = this.s.beginTransaction();
s.saveOrUpdate(obj);
t.commit();
}
@Override
public void Deletar(tab_func obj) {
t = this.s.beginTransaction();
s.delete(obj);
t.commit();
}
@Override
public List<tab_func> getLista() {
List<tab_func> result = null;
Criteria filtro = s.createCriteria(tab_func.class);
filtro.addOrder(Order.asc("codfunc"));
result = filtro.list();
return result;
}
@Override
public List<tab_func> getLista(String filtro) {
return null;
}
@Override
public tab_func getUnico(Integer id) {
tab_func p;
Criteria filtro = s.createCriteria(tab_func.class);
filtro.add(Restrictions.eq("codfunc ", id));
p = (tab_func) filtro.uniqueResult();
return p;
}
}[/code]
Não sei exatamente se é esta classe que da erro…
Ajuda ai.

