-->
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.  [ 1 post ] 
Author Message
 Post subject: hibernate annotations + jndi Contains more than the maximum
PostPosted: Thu Oct 09, 2008 11:35 am 
Newbie

Joined: Fri Sep 26, 2008 4:45 am
Posts: 17
Hi,

I've an application that works fine within a properties based data source.

But when I'm trying to use a jndi connection I've to add annotation to my entity that maps the column and table name and relation of my entity within my table

Code:
package ch.btc.datec.yamina.model;


import java.io.Serializable;
import java.text.DecimalFormat;
import java.util.Date;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.hibernate.annotations.Cascade;

@Entity
@Table(name="datec.dbo.Affaire")
public class Affaire implements Serializable {

   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   @Column(name = "ID")
   private long id;

   @Column(name = "NO_AFFAIRE", length = 40, nullable = true)
   private String noAffaire;

   @OneToOne(fetch = FetchType.EAGER)
   @Cascade ((org.hibernate.annotations.CascadeType.SAVE_UPDATE))
   private TypeAffaire type;

   @OneToMany(fetch = FetchType.EAGER)
   @Cascade ((org.hibernate.annotations.CascadeType.SAVE_UPDATE))
   private Set<Affaire> affairesLiees;

   @ManyToMany(fetch = FetchType.EAGER)
   @Cascade ((org.hibernate.annotations.CascadeType.SAVE_UPDATE))
   private Set<Commune> communes;


   
   @ManyToMany(fetch = FetchType.EAGER)
   @Cascade ((org.hibernate.annotations.CascadeType.SAVE_UPDATE))
   private Set<Auteur> auteurs;

   
   @ManyToMany(fetch = FetchType.EAGER)
   @Cascade ((org.hibernate.annotations.CascadeType.SAVE_UPDATE))
   private Set<Acteur> requerants;

   @ManyToMany(fetch = FetchType.EAGER)
   @Cascade ((org.hibernate.annotations.CascadeType.SAVE_UPDATE))
   private Set<Parcelle> parcelles;

   @OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
   private ObjetDemande objetDemande;

   
   // TODO Add link to parcelles
   /**
    *
    */
   public Affaire(boolean template) {
      communes = new HashSet<Commune>();
      affairesLiees = new HashSet<Affaire>();
      auteurs = new HashSet<Auteur>();
      requerants = new HashSet<Acteur>();
      parcelles = new HashSet<Parcelle>();
      if (template) {
      noAffaire = generateUniqueId();
      }
   }

   /**
    *
    */
   public Affaire() {
      this(false);
   }

   private static int count = 0;
   
   

   /**
    * @param affairesLiees
    * @param auteurs
    * @param communes
    * @param id
    * @param noAffaire
    * @param objetDemande
    * @param requerants
    * @param type
    */
   public Affaire(Set<Affaire> affairesLiees, Set<Auteur> auteurs,
         Set<Commune> communes, Set<Parcelle> parcelles, long id, String noAffaire,
         ObjetDemande objetDemande, Set<Acteur> requerants, TypeAffaire type) {
      this.affairesLiees = affairesLiees;
      this.auteurs = auteurs;
      this.parcelles = parcelles;
      this.communes = communes;
      this.id = id;
      this.noAffaire = noAffaire;
      this.objetDemande = objetDemande;
      this.requerants = requerants;
      this.type = type;
   }

   /**
    * @return the id
    */
   public long getId() {
      return id;
   }

   /**
    * @param id
    *            the id to set
    */
   public void setId(long id) {
      this.id = id;
   }

   /**
    * @return the noAffaire
    */
   public String getNoAffaire() {
      return noAffaire;
   }

   /**
    * @param noAffaire
    *            the noAffaire to set
    */
   public void setNoAffaire(String noAffaire) {
      this.noAffaire = noAffaire;
   }

   /**
    * @return the type
    */
   public TypeAffaire getType() {
      return type;
   }

   /**
    * @param type
    *            the type to set
    */
   public void setType(TypeAffaire type) {
      this.type = type;
   }

   /**
    * @return the affairesLiees
    */
   public Set<Affaire> getAffairesLiees() {
      return affairesLiees;
   }

   /**
    * @param affairesLiees
    *            the affairesLiees to set
    */
   public void setAffairesLiees(Set<Affaire> affairesLiees) {
      this.affairesLiees = affairesLiees;
   }

   /**
    * @return the communes
    */
   public Set<Commune> getCommunes() {
      return communes;
   }

   /**
    * @param communes
    *            the communes to set
    */
   public void setCommunes(Set<Commune> communes) {
      this.communes = communes;
   }

   /**
    * @return the auteurs
    */
   public Set<Auteur> getAuteurs() {
      return auteurs;
   }

   /**
    * @param auteurs
    *            the auteurs to set
    */
   public void setAuteurs(Set<Auteur> auteurs) {
      this.auteurs = auteurs;
   }

   /**
    * @return the requerants
    */
   public Set<Acteur> getRequerants() {
      return requerants;
   }

   /**
    * @param requerants
    *            the requerants to set
    */
   public void setRequerants(Set<Acteur> requerants) {
      this.requerants = requerants;
   }

   /**
    * @return the objetDemande
    */
   public ObjetDemande getObjetDemande() {
      return objetDemande;
   }

   /**
    * @param objetDemande
    *            the objetDemande to set
    */
   public void setObjetDemande(ObjetDemande objetDemande) {
      this.objetDemande = objetDemande;
   }

   
   // delegate methods
   /**
    * @param affaireLiee
    * @return
    * @see java.util.Set#add(java.lang.Object)
    */
   public boolean addAffaireLiee(Affaire affaireLiee) {
      return affairesLiees.add(affaireLiee);
   }

   /**
    *
    * @see java.util.Set#clear()
    */
   public void clearAffairesLiees() {
      affairesLiees.clear();
   }

   /**
    * @param affaireLiee
    * @return
    * @see java.util.Set#contains(java.lang.Object)
    */
   public boolean containsAffaireLiee(Affaire affaireLiee) {
      return affairesLiees.contains(affaireLiee);
   }

   /**
    * @return
    * @see java.util.Set#iterator()
    */
   public Iterator<Affaire> iteratorAffairesLiees() {
      return affairesLiees.iterator();
   }

   /**
    * @param affaireLiee
    * @return
    * @see java.util.Set#remove(java.lang.Object)
    */
   public boolean removeAffaireLiee(Affaire affaireLiee) {
      return affairesLiees.remove(affaireLiee);
   }

   /**
    * @return
    * @see java.util.Set#size()
    */
   public int sizeAffairesLiees() {
      return affairesLiees.size();
   }

   
   
   
   
   
   
   /**
    * @param e
    * @return
    * @see java.util.Set#add(java.lang.Object)
    */
   public boolean addAuteur(Auteur e) {
      return auteurs.add(e);
   }

   /**
    *
    * @see java.util.Set#clear()
    */
   public void clearAuteurs() {
      auteurs.clear();
   }

   /**
    * @param o
    * @return
    * @see java.util.Set#contains(java.lang.Object)
    */
   public boolean containsAuteur(Object o) {
      return auteurs.contains(o);
   }

   /**
    * @param o
    * @return
    * @see java.util.Set#contains(java.lang.Object)
    */

   public boolean containsParcell(Object o) {
      return parcelles.contains(o);
   }
   /**
    * @return
    * @see java.util.Set#iterator()
    */
   public Iterator<Auteur> iteratorAuteurs() {
      return auteurs.iterator();
   }

   /**
    * @return
    * @see java.util.Set#iterator()
    */
   public Iterator<Auteur> iteratorParcelles() {
      return auteurs.iterator();
   }

   /**
    * @param o
    * @return
    * @see java.util.Set#remove(java.lang.Object)
    */
   public boolean removeAuteur(Object o) {
      return auteurs.remove(o);
   }
   
   /**
    * @param o
    * @return
    * @see java.util.Set#remove(java.lang.Object)
    */
   public boolean removeParcelle(Object o) {
      return parcelles.remove(o);
   }
   

   /**
    * @return
    * @see java.util.Set#size()
    */
   public int sizeAuteur() {
      return auteurs.size();
   }
   
   /**
    * @return
    * @see java.util.Set#size()
    */
   public int sizeParcelle() {
      return parcelles.size();
   }
   
   
   
   
   /**
    * @param e
    * @return
    * @see java.util.Set#add(java.lang.Object)
    */
   public boolean addParcelle(Parcelle p) {
      return parcelles.add(p);
   }
   

   /**
    * @param e
    * @return
    * @see java.util.Set#add(java.lang.Object)
    */
   public boolean addCommune(Commune e) {
      return communes.add(e);
   }

   /**
    *
    * @see java.util.Set#clear()
    */
   public void clearCommunes() {
      communes.clear();
   }

   /**
    *
    * @see java.util.Set#clear()
    */
   public void clearParcelles() {
      parcelles.clear();
   }

   /**
    * @param o
    * @return
    * @see java.util.Set#contains(java.lang.Object)
    */
   public boolean containsCommune(Object o) {
      return communes.contains(o);
   }

   /**
    * @param o
    * @return
    * @see java.util.Set#contains(java.lang.Object)
    */
   public boolean containsParcelle(Object o) {
      return parcelles.contains(o);
   }

   /**
    * @return
    * @see java.util.Set#iterator()
    */
   public Iterator<Commune> iteratorCommunes() {
      return communes.iterator();
   }

   /**
    * @param o
    * @return
    * @see java.util.Set#remove(java.lang.Object)
    */
   public boolean removeCommune(Object o) {
      return communes.remove(o);
   }

   /**
    * @return
    * @see java.util.Set#size()
    */
   public int sizeCommune() {
      return communes.size();
   }   
   
   /**
    * @param e
    * @return
    * @see java.util.Set#add(java.lang.Object)
    */
   public boolean addRequerant(Acteur e) {
      return requerants.add(e);
   }

   /**
    *
    * @see java.util.Set#clear()
    */
   public void clearRequerants() {
      requerants.clear();
   }

   /**
    * @param o
    * @return
    * @see java.util.Set#contains(java.lang.Object)
    */
   public boolean containsRequerant(Object o) {
      return requerants.contains(o);
   }

   /**
    * @return
    * @see java.util.Set#iterator()
    */
   public Iterator<Acteur> iteratorRequerants() {
      return requerants.iterator();
   }

   /**
    * @param o
    * @return
    * @see java.util.Set#remove(java.lang.Object)
    */
   public boolean removeRequerant(Object o) {
      return requerants.remove(o);
   }

   /**
    * @return
    * @see java.util.Set#size()
    */
   public int sizeRequerants() {
      return requerants.size();
   }

   
   public void incrementCounter() {
      count++;
   }
   
   
    /* (non-Javadoc)
    *
    * @see java.lang.Object#equals(java.lang.Object)
    */
   @Override
   public boolean equals(Object obj) {
      return EqualsBuilder.reflectionEquals(this, obj);
   }

   /*
    * (non-Javadoc)
    *
    * @see java.lang.Object#equals(java.lang.Object)
    */
   @Override
   public int hashCode() {
      return HashCodeBuilder.reflectionHashCode(this);
   }

   /*
    * (non-Javadoc)
    *
    * @see java.lang.Object#equals(java.lang.Object)
    */
   @Override
   public String toString() {
      return ToStringBuilder.reflectionToString(this);
   }


   /**
    * Generate an unique Affaire's number for each Affaire (|A|A|district|XXXX).
    * @return the 2 last number of the year + the 1 district number + a generate number (4 position)
    */
   private String generateUniqueId() {
      String newId = "";
      int year = new Date().getYear();
      
      // Add year
      newId += new DecimalFormat("00").format((year % 100));
      
      // Add district
      newId += 9; // TODO district number from db
      
      // Add generated part
      newId += new DecimalFormat("0000").format(count + 1);
      
      return newId;
   }

   public Set<Parcelle> getParcelles() {
      System.out.println("GET PARCELLES CALLED\n");
      return parcelles;
   }

   public void setParcelles(Set<Parcelle> parcelles) {
      this.parcelles = parcelles;
   }
}



but once I started my server I got the following error message

Code:

com.inet.tds.be: Msg 117, Level 15, State 1, Line 1, Sqlstate 01000
[NDSQL02\DEV]Le nom de objet 'datec.dbo.Affaire_datec.dbo.Affaire'
Error: Contains more than the maximum number
of prefixes. Maximum is 3



any idea ?

Thanks


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

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.