Causés par: org.mise en veille prolongée.MappingException: la répétition d'une colonne dans la cartographie de l'entité
Je suis débutant dans le traitement des APC avec maven et JBOSS, Restful pour faire ma demande, j'ai le problème suivant se pose à moi de faire DÉPLOYER
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: com.company.test_resources_war_1.0-SNAPSHOTPU] Unable to build EntityManagerFactory
Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: database.Photo column: fid_module (should be mapped with insert = \ "false \" update = \ "false \") "}}
Pas cette étape, vérifiez toutes les posles des solutions, mais ne trouve rien, quelqu'un peut-il m'aider??
Merci d'avance
Ci-dessous, je montre le code SQL de postgresql que j'ai et j'ai fait la cartographie.
J'ai trois tables (activité, événement et photo) où l'un d'entre eux (photo) se réfère aux deux autres (activité et événement), mais dans une seule colonne (photo.fid_module)
De Code SQL (ingénieur aérospatial de la base de données-->Postgresql):
CREATE TABLE activity (
id_activity integer not null,
name character varying(150),
description text,
CONSTRAINT id_activity_pk PRIMARY KEY (id_activity)
)
CREATE TABLE event (
id_event integer not null,
name character varying(150),
description text,
date timestamp without time zone,
CONSTRAINT id_event_pk PRIMARY KEY (id_event)
)
CREATE TABLE photo(
id_photo integer not null,
path character varying(150),
fid_module integer not null,
CONSTRAINT id_photo_pk PRIMARY KEY (id_photo),
CONSTRAINT fk_photo_activity FOREIGN KEY (fid_module)
REFERENCE activity (id_activity) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_photo_event FOREIGN KEY (fid_module)
REFERENCE event (id_event) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)
Maintenant la cartographie que j'ai fait avec l'aide de Netbenas et m'a donné le code suivant (j'ai fait la cartographie pour les trois tableaux, mais en me présenter le problème est dans la classe Photo.java).
@Entity
@Table(name = "photo")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "photo.findAll", query = "SELECT p FROM Photo p"),
@NamedQuery(name = "photo.findByFidPhoto", query = "SELECT p FROM Photo p WHERE p.fidphoto = :fidphoto"),
@NamedQuery(name = "photo.findByIdPhoto", query = "SELECT p FROM Photo p WHERE p.idphoto = :idphoto")})
public class Photo implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id_photo")
private Integer idPhoto;
@Column(name = "path")
private Recurso fidPath;
@JoinColumn(name = "fid_module", referencedColumnName = "id_activity")
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private SliderWebHome fidModule;
@JoinColumn(name = "fid_module", referencedColumnName = "id_event")
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private Publicacion fidModule1;
public ModuloRecurso() {
}
.......
}
Je suis en utilisant JPA pour la persistance (mais ne mvn clean install et mvn jboss -: déployer plusieurs me tire hibernate dépendances) quelqu'un pourrait-il me dire quelle est mon erreur ou pourrait résoudre ce problème. Merci.
OriginalL'auteur rodrixd | 2014-01-23
Vous devez vous connecter pour publier un commentaire.
Comme indiqué dans une autre réponse, votre code Java précise la même joignez-nom de la colonne pour les deux champs, qui ne peuvent pas travailler.
Si ce code Java généré par netbeans outil de cartographie, comme il semble à partir de votre remarque
la mauvaise Java cartographie est probablement causé par une mauvaise combinaison de contraintes dans votre SQL.
Vous avez dans votre définition de la
photo
table:qui tente de rendre la colonne
fid_module
une clé étrangère référençantactivity
et aussi une clé étrangère référençantevent
, qui ne peuvent pas travailler.Si vous avez besoin de clés étrangères de
photo
à ces deux tables, vous aurez besoin d'utiliser deux colonnes différentes.Oui. Je ne pense pas que vous pouvez avoir une seule colonne de la clé étrangère de deux tables différentes.
OriginalL'auteur Don Roby
Vous avez deux colonnes mappées avec le même nom
Un changement de l'attribut de nom de!
À la recherche dans votre exception, vous pouvez lire:
Vous avez raison, le nom attribue sont les mêmes , mais Le problème est que j'ai besoin que la colonne de photo de cette référence avec les tableaux: l'événement et l'activité, comment pourrais-je le faire dans la cartographie?
Refonte de votre db..
OriginalL'auteur gipinani