L'obtention de org.mise en veille prolongée.DuplicateMappingException: Doublon de classe/de l'entité de la cartographie dans hibernate3.0
Je suis en train de lancer une application web à l'aide de hibernate3.0
avec struts2-core-2.1.6
sur Tomcat7.0.55
avec JDK8
. Je suis org.hibernate.DuplicateMappingException: Duplicate class/entity mapping com.poste.struts2.bean.CityDetails
. Mon hibernate.cfg.xml
est:
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/mydb</property>
<property name="connection.username">uname</property>
<property name="connection.password">pass</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="current_session_context_class">thread</property>
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="hibernate.show_sql">true</property>
<property name="format_sql">true</property>
<property name="hibernate.use_sql_comments">true</property>
<mapping class="com.poste.struts2.bean.CityDetails" />
</session-factory>
</hibernate-configuration>
Le code de la classe est:
package com.poste.struts2.bean;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
@Entity
@Table(name = "city_master")
public class CityDetails implements Serializable {
private static final long serialVersionUID = 9149826260758390091L;
private Long cityId;
private String cityName;
private String cityStatus;
@Id
@GenericGenerator(name="generator", strategy="increment")
@GeneratedValue(generator="generator")
@Column(name = "CITM_CITY_ID")
public Long getCityId(){
return this.cityId;
}
public void setCityId(Long cityId){
this.cityId = cityId;
}
@Column(name = "CITM_CITY_NAME", columnDefinition = "nvarchar", length = 100)
public String getCityName(){
return this.cityName;
}
public void setCityName(String cityName){
this.cityName = cityName;
}
@Column(name = "CITM_STATUS")
public String getCityStatus() {
return cityStatus;
}
public void setCityStatus(String cityStatus) {
this.cityStatus = cityStatus;
}
}
Mon WEB-INF/lib contient
activation-1.1.jar
antlr-2.7.6.jar
commons-beanutils.jar
commons-collections-3.1.jar
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-lang-2.3.jar
commons-logging-1.0.4.jar
dom4j-1.6.1.jar
ejb3-persistence.jar
freemarker-2.3.16.jar
hibernate-annotations.jar
hibernate-commons-annotations.jar
hibernate-validator.jar
hibernate3.jar
hsqldb.jar
httpclient-4.0.jar
itext-2.1.7.jar
java-mail-1.4.4.jar
JavaBridge.jar
javassist.jar
javax.persistence.jar
jcommon-1.0.16.jar
jfreechart-1.0.13.jar
json.jar
jta-1.1.jar
junit-3.8.1.jar
log4j-1.2.14.jar
mysql-connector-java-5.1.32.jar
ognl-2.6.11.jar
php-servlet.jar
poi-3.2-FINAL-20081019.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
slf4j-simple-1.5.8.jar
struts2-convention-plugin-2.1.6.jar
struts2-core-2.1.6.jar
struts2-dojo-plugin-2.2.3.jar
struts2-fullhibernatecore-plugin-1.4-GA.jar
struts2tutorial.jar
xwork-2.1.2.jar
Les COLONNES sont:
CITM_CITY_ID decimal(10,0)
CITM_CITY_NAME varchar(200
CITM_STATUS varchar(20)
Une idée? Grâce
OriginalL'auteur Satya | 2014-09-15
Vous devez vous connecter pour publier un commentaire.
Le problème est que vous avez la cartographie pour
com.poste.struts2.bean.CityDetails
en veille prolongée fichier de configuration, ainsi que vous avez la cartographie dans les annotations.Soit supprimer la ligne suivante à partir de
hibernate.cfg.xml
ou supprimer des annotations dans
CityDetails
classe.Heureux de vous aider. Et oui, ne sera pas l'esprit d'un upvote.
OriginalL'auteur Darshan Lila
Ces duplicata peut aussi être causée par le fait de renommer le mappé classe et la conception de l'application sans l'essuyer les anciennes classes (par exemple avec Maven sans courir "mvn clean" en premier.)
Oui, pour mon cas 🙂
OriginalL'auteur cvnew
Qui est très bonne réponse en Darshan mais, cette erreur peut venir même si vous mentionnez même mapping de la classe de nouveau par erreur. J'avais reçu ce message d'erreur lorsque je l'ai mentionné
comme au-dessus de la cartographie, j'ai mis Test1.hbm.xml de nouveau au lieu Test3.hbm.xml
OriginalL'auteur Kundan Atre
J'ai eu le problème, et c'était à cause de certains pots ont été dupliqué, et j'ai dû les enlever et puis nettoyage de Jenkins (outil build que j'utilise). Ne pas connaître la raison de cette dupliqué pots.
OriginalL'auteur Weslor
N'y a pas deux différents fichiers de mapping hibernate doit avoir les mêmes biens ou des étiquettes d'identification.
OriginalL'auteur Ajay Takur
peut-être vous avez juste à nettoyer votre projet et de le reconstruire pour résoudre le problème, comme moi-même
j'ai été confronté au problème avant
OriginalL'auteur smftr