0
我收到以下錯誤,當我試圖挽救它被映射爲多對多的休眠我的對象:類拋出:IllegalArgumentException休眠許多一對多
拋出:IllegalArgumentException:model.Especialidade,財產的getter方法: idespecialidade
下面是我especialidade.hbm
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- Generated 16/11/2015 11:41:49 by Hibernate Tools 4.3.1 -->
<hibernate-mapping>
<class name="model.Especialidade" table="especialidade" schema="public" optimistic-lock="version">
<id name="idespecialidade" type="int">
<column name="idespecialidade" />
<generator class="increment" />
</id>
<property name="descricao" type="string">
<column name="descricao" length="30" not-null="true" />
</property>
<bag name="servicoses" table="servicos" inverse="false" lazy="false" fetch="select" cascade="all,delete-orphan" >
<key>
<column name="idespecialidade" />
</key>
<one-to-many class="model.Servicos" />
</bag>
<bag name="profissionais" table="profissional_especialidade"> <!-- inverse="true" lazy="true" fetch="select" -->
<key>
<column name="idespecialidade" not-null="true" />
</key>
<many-to-many entity-name="model.Profissional">
<column name="idusuario" not-null="true" />
</many-to-many>
</bag>
</class>
</hibernate-mapping>
我Profissional.hbm
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- Generated 16/11/2015 11:41:49 by Hibernate Tools 4.3.1 -->
<hibernate-mapping>
<class name="model.Profissional" table="profissional" schema="public" optimistic-lock="version">
<id name="idusuario" type="int">
<column name="idusuario" />
<generator class="foreign" >
<param name="property">usuario</param>
</generator>
</id>
<one-to-one name="usuario" class="model.Usuario" fetch="select" lazy="false" constrained="true" />
<property name="percentcomissao" type="double">
<column name="percentcomissao" />
</property>
<property name="situacao" type="string">
<column name="situacao" length="30" not-null="true" />
</property>
<bag name="especialidades" table="profissional_especialidade" lazy="false" > <!-- inverse="false" lazy="true" fetch="select" cascade="all" -->
<key>
<column name="idusuario" not-null="true"/>
</key>
<many-to-many entity-name="model.Especialidade">
<column name="idespecialidade" not-null="true" />
</many-to-many>
</bag>
</class>
</hibernate-mapping>
我Especialidade.class
package model;
// Generated 16/11/2015 11:41:48 by Hibernate Tools 4.3.1
import java.util.ArrayList;
import java.util.List;
/**
* Especialidade generated by hbm2java
*/
public class Especialidade implements java.io.Serializable {
private int idespecialidade;
private String descricao;
private List servicoses = new ArrayList();
private List<Profissional> profissionais = new ArrayList();
public Especialidade() {
}
public Especialidade(int idespecialidade, String descricao) {
this.idespecialidade = idespecialidade;
this.descricao = descricao;
}
public Especialidade(int idespecialidade, String descricao, List servicoses) {
this.idespecialidade = idespecialidade;
this.descricao = descricao;
this.servicoses = servicoses;
}
public int getIdespecialidade() {
return this.idespecialidade;
}
public void setIdespecialidade(int idespecialidade) {
this.idespecialidade = idespecialidade;
}
public String getDescricao() {
return this.descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public List<Servicos> getServicoses() {
return this.servicoses;
}
public void setServicoses(List servicoses) {
this.servicoses = servicoses;
}
public void addServicoses(Servicos servico){
this.servicoses.add(servico);
}
public void removeServicoes(Servicos servico){
this.servicoses.remove(servico);
}
/**
* @return the profissionais
*/
public List<Profissional> getProfissionais() {
return profissionais;
}
/**
* @param profissionais the profissionais to set
*/
public void setProfissionais(List<Profissional> profissionais) {
this.profissionais = profissionais;
}
}
我Profissional.class
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package model;
import java.util.ArrayList;
import java.util.List;
/**
*
* @author vinicius.lemos
*/
public class Profissional implements java.io.Serializable {
private int idusuario;
private Usuario usuario = new Usuario();
private double percentcomissao;
private String situacao;
private List<Especialidade> Especialidades = new ArrayList();
/**
* @return the idprofissional
*/
public int getIdusuario() {
return idusuario;
}
/**
* @param idusuario the idprofissional to set
*/
public void setIdusuario(int idusuario) {
this.idusuario = idusuario;
}
/**
* @return the percentcomissao
*/
public double getPercentcomissao() {
return percentcomissao;
}
/**
* @param percentcomissao the percentcomissao to set
*/
public void setPercentcomissao(double percentcomissao) {
this.percentcomissao = percentcomissao;
}
/**
* @return the situacao
*/
public String getSituacao() {
return situacao;
}
/**
* @param situacao the situacao to set
*/
public void setSituacao(String situacao) {
this.situacao = situacao;
}
/**
* @return the usuario
*/
public Usuario getUsuario() {
return usuario;
}
/**
* @param usuario the usuario to set
*/
public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}
/**
* @return the Especialidades
*/
public List<Especialidade> getEspecialidades() {
return Especialidades;
}
/**
* @param Especialidades the Especialidades to set
*/
public void setEspecialidades(List<Especialidade> Especialidades) {
this.Especialidades = Especialidades;
}
}