-->
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, DBunit, self referencing table
PostPosted: Mon Feb 17, 2014 5:26 am 
Beginner
Beginner

Joined: Tue Aug 21, 2007 4:58 am
Posts: 30
Hello,
I am doing JUnit tests with DBunit and H2. The problem is that when I try the tests on H2 it fails, but it works on MySQL. My guess is that there is some problem with the self-referencing relationship. I have an entity called comments which has itslef as a parent. When populating the H2 database, it seems that the parent is null for all the entities, but it shouln't.

Here is the entity code:

Code:
package es.tresw.db.entities;

import java.util.Date;
import java.util.HashSet;
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.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name="COMMENTS")
public class Comment {
   
   @Id
   @GeneratedValue(strategy = GenerationType.AUTO)
   @Column(name = "ID", updatable = false, nullable = false)
   private Long id;
   @Column(name="DATE", nullable=false)
   private Date date;
   @Column(name="TEXT", nullable=false, columnDefinition="TEXT")
   private String text;
   @ManyToOne(optional=true)
   @JoinColumn(name="PARENT_ID")
   private Comment parent;
   @OneToMany(mappedBy="parent", fetch=FetchType.LAZY)
   private Set<Comment> answers = new HashSet<Comment>();
   @ManyToOne
   @JoinColumn(name = "ID_SPORTFACILITY", nullable =true)
   public SportFacility sportFacility;
   @ManyToOne
   @JoinColumn(name = "ID_USER_FROM", nullable =true)
   public User userFrom;
   @ManyToOne
   @JoinColumn(name = "ID_TARGET_USER", nullable =true)
   public User userTo;
   @ManyToOne
   @JoinColumn(name = "ID_CIRCLE", nullable =true)
   public Circle circle;
      
   public Long getId() {
      return id;
   }
   
   public void setId(Long id) {
      this.id = id;
   }
   
   public Date getDate() {
      return date;
   }
   
   public void setDate(Date date) {
      this.date = date;
   }
   
   public String getText() {
      return text;
   }
   
   public void setText(String text) {
      this.text = text;
   }
   
   public SportFacility getSportFacility() {
      return sportFacility;
   }

   public void setSportFacility(SportFacility sportFacility) {
      this.sportFacility = sportFacility;
   }
      
   public User getUserFrom() {
      return userFrom;
   }
   
   public void setUserFrom(User user) {
      this.userFrom = user;
   }

   public Comment getParent() {
      return parent;
   }

   public void setParent(Comment parent) {
      this.parent = parent;
   }

   public Set<Comment> getAnswers() {
      return answers;
   }

   public void setSubordinates(Set<Comment> answers) {
      this.answers = answers;
   }

   public User getUserTo() {
      return userTo;
   }

   public void setUserTo(User userTo) {
      this.userTo = userTo;
   }

   public Circle getCircle() {
      return circle;
   }

   public void setCircle(Circle circle) {
      this.circle = circle;
   }

}




Here is the DAO:


Code:

package es.tresw.db.dao.impl;

import java.util.List;
import java.util.Set;

import org.hibernate.Criteria;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Disjunction;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

import es.tresw.db.dao.I_ClientDao;
import es.tresw.db.dao.I_CommentDao;
import es.tresw.db.entities.Circle;
import es.tresw.db.entities.Client;
import es.tresw.db.entities.Comment;
import es.tresw.db.entities.Like;
import es.tresw.db.entities.Rental;
import es.tresw.db.entities.SportFacility;
import es.tresw.db.entities.User;

@Repository("commentDao")
public class CommentDao extends GenericDao<Comment, Long> implements  I_CommentDao
{
   public void loadComments(Comment c)
   {
      update(c);
      c.getAnswers();
   }

   @Override
   public List<Comment> getCommentsSportFacility(SportFacility sf) {
      Criteria criteria = getSession().createCriteria(Comment.class);
      criteria.createAlias("sportFacility", "sf");
      criteria.add(Restrictions.isNull("parent.id"));
      criteria.add(Restrictions.eq("sf.id", sf.getId()));
      criteria.addOrder(Order.desc("date"));
      return (List<Comment>)criteria.list();
   }

   @Override
   public List<Comment> getTimeLineUser(User user, List<Circle> circles) {
      Criteria criteria = getSession().createCriteria(Comment.class);
      Disjunction completeCondition = Restrictions.disjunction();
      completeCondition.add(Restrictions.eq("userFrom.id", user.getId()));
      completeCondition.add(Restrictions.eq("userTo.id", user.getId()));
      for(Circle c: circles)
      {
         completeCondition.add(Restrictions.eq("circle.id", c.getId()));
      }
      criteria.add(completeCondition);
      criteria.addOrder(Order.desc("date"));      
      criteria.add(Restrictions.isNull("parent.id"));
      return (List<Comment>)criteria.list();
   }

   @Override
   public boolean hasAnswers(Comment c) {
      Criteria criteria = getSession().createCriteria(Comment.class);
      criteria.add(Restrictions.eq("parent.id", c.getId()));
      return ((Long)criteria.setProjection(Projections.rowCount()).uniqueResult()).intValue()>0;
   }

   @Override
   public List<Comment> getTimeLineGeneral(Circle circle) {
      Criteria criteria = getSession().createCriteria(Comment.class);
      criteria.add(Restrictions.isNull("parent.id"));
      criteria.add(Restrictions.eq("circle.id", circle.getId()));
      criteria.addOrder(Order.desc("date"));
      return (List<Comment>) criteria.list();
   }
   

}


Here is the Junit test:

Code:
package es.tresw.db.dao;

import static org.junit.Assert.*;

import java.io.File;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import org.dbunit.database.DatabaseConnection;
import org.dbunit.database.IDatabaseConnection;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.xml.FlatXmlDataSetBuilder;
import org.dbunit.operation.DatabaseOperation;
import org.hibernate.jdbc.Work;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional;
import es.tresw.db.entities.Circle;
import es.tresw.db.entities.Comment;
import es.tresw.db.entities.SportFacility;
import es.tresw.db.entities.User;


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:intercambia-servlet-test.xml"})
@Transactional
public class TestComments{
   
   @Autowired
   private I_SportFacilityDao sportFacilityDao;
   @Autowired
   private I_UserDao userDao;
   @Autowired
   private I_CommentDao commentDao;
   @Autowired
   private I_CircleDao circleDao;
     @Before
     public void onSetUpInTransaction() throws Exception
     {
        //Controller for allowing users to perform JDBC using the Connection managed by this Session.
        sportFacilityDao.getSession().doWork(new Work() {
            @Override
            public void execute(Connection connection) throws SQLException {
                IDatabaseConnection conn;
                 try {
                  conn = new DatabaseConnection(connection);
                  //Populate the database using the DBunit xml
                  FlatXmlDataSetBuilder builder = new FlatXmlDataSetBuilder();
                  builder.setDtdMetadata(false);
                  //this is a hack to bypass constrain validations on delete, this is needed since the only way to populate the database is using @before which is called by every method
                  if(connection.getMetaData().getDatabaseProductName().equals("H2"))
                  {
                     Statement sttmnt = connection.createStatement();
                     sttmnt.execute("SET REFERENTIAL_INTEGRITY FALSE");
                     sttmnt.close();
                  }
                  IDataSet dataSet= builder.build(new File("src/test/resources/test_comment.xml"));//builder.build(this.getClass().getClassLoader().getResourceAsStream("database.xml"));
                  //Populate the database
                  DatabaseOperation.CLEAN_INSERT.execute(conn,dataSet);
                  //Restore the referecnail integrity
                  if(connection.getMetaData().getDatabaseProductName().equals("H2"))
                  {
                     Statement sttmnt = connection.createStatement();
                     sttmnt.execute("SET REFERENTIAL_INTEGRITY TRUE");
                     sttmnt.close();
                  }
                }
                catch (Exception e) {
                  e.printStackTrace();
               }
            }
        });
     }
    
     @Test
     public void testGetCommentsSportFacility()
     {
        SportFacility sp = sportFacilityDao.read(new Long(132));
        SportFacility sp1 = sportFacilityDao.read(new Long(359));
        assertEquals(2, commentDao.getCommentsSportFacility(sp).size());
        assertEquals(0, commentDao.getCommentsSportFacility(sp1).size());

     }

     @Test
     public void testGetTimeLineUser()
     {
        User u = userDao.read(new Long(1));
        User u2 = userDao.read(new Long(2));
        User u3 = userDao.read(new Long(3));

        Circle c1 = circleDao.read(new Long(1));
        Circle c2 = circleDao.read(new Long(2));
        List<Circle> circles = new ArrayList<Circle>();
        circles.add(c1);
        circles.add(c2);
        List<Comment> comments = commentDao.getTimeLineUser(u, circles);
        assertEquals(7,commentDao.getTimeLineUser(u, circles).size());
        assertEquals(4,commentDao.getTimeLineUser(u2, circles).size());
        assertEquals(4,commentDao.getTimeLineUser(u3, circles).size());

     }
    
     @Test
     public void testHasAnswers()
     {
        Comment c = commentDao.read(new Long(1));
        Comment c1 = commentDao.read(new Long(5));
        assertTrue(commentDao.hasAnswers(c));
        assertFalse(commentDao.hasAnswers(c1));
     } 
    
     @Test
     public void testGetTimeLineGeneral()
     {
        Circle c = circleDao.read(new Long(1));
        Circle c1 = circleDao.read(new Long(2));
        Circle c2 = circleDao.read(new Long(3));
        assertEquals(1, commentDao.getTimeLineGeneral(c).size());
        assertEquals(2, commentDao.getTimeLineGeneral(c1).size());
        assertEquals(0, commentDao.getTimeLineGeneral(c2).size());
     }
      
     @Test
     public void testLoadComments()
     {
        List<Comment> comments = commentDao.readAll();
        for(Comment c: comments)
        {
           System.out.println("ID " + c.getId());
           if(c.getCircle()!=null)
           System.out.println("circle " + c.getCircle().getId());
           System.out.println("answers" + c.getAnswers().size());
           if(c.getParent()!=null)
           System.out.println("parent " +c.getParent().getId());
           if(c.getSportFacility()!=null)
           System.out.println("sp" + c.getSportFacility().getId());
           System.out.println(c.getText());
           if(c.getUserFrom()!=null)
           System.out.println("from " + c.getUserFrom().getId());
           if(c.getUserTo()!=null)
           System.out.println("to " + c.getUserTo().getId());
        }
        Comment c = commentDao.read(new Long(1));
        commentDao.loadComments(c);
        assertEquals(3, c.getAnswers().size());
       
     }
      
}


Here is the xml to populate the database
Code:
<?xml version='1.0' encoding='UTF-8'?>
<dataset>
  <province ID="1" HAS_COURT="0" NAME="Sevilla"/>
  <municipality ID="1" HAS_COURT="0" NAME="Sevilla" ID_PROVINCE="1"/>
  <zone ID="1" NAME="Bami" ID_MUNICIPALITY="1"/>
 
  <administrator_sportfacility ID="1" ADMINISTRATOR="3" SportFacility="132"/>
  <court ID="1" CREATED_DATE="2013-11-16 17:39:21.0" LAST_MODIFIED_DATE="2014-01-28 15:43:30.0" LENGTH_RENTAL="90" NAME="Pista Futbol 1" PRICE="10.00" DAYS_CLIENT="0" DAYS_MEMBER="0" HOUR_LIGHTS_ON="0" MAX_MONTH_FOR_MULTIPLES_RENTALS_BY_MEMBER="2" MAX_MONTH_FOR_MULTIPLES_RENTALS_BY_USER="6" MAX_RENTAL_BY_MEMBER="30" MAX_RENTAL_BY_USER="15" MULTIPLE_RENTALS_BY_MEMBER="1" MULTIPLE_RENTALS_BY_USER="1" NUM_DAYS_TO_CLOSE_BY_MEMBER="15" NUM_DAYS_TO_CLOSE_BY_USER="15" NUM_DAYS_TO_OPEN_BY_MEMBER="0" NUM_DAYS_TO_OPEN_BY_USER="0" HOURS_TO_CANCEL_RENTAL_NO_PAID="1" HOURS_TO_CANCEL_RENTAL_NO_PAID_MEMBER="1" RENT_DURATION="0" RESERVATION_TYPE="0" STATE="2" SURFACE="Cemento" ID_COURTTYPE="1" ID_SPORT_FACILITY="132" REFERENCE_CANCEL_DATE="1" REFERENCE_CANCEL_DATE_BY_MEMBER="1"/>
  <court ID="2" CREATED_DATE="2013-11-16 17:39:21.0" LENGTH_RENTAL="60" NAME="Pista tenis 2" PRICE="10.00" DAYS_CLIENT="0" DAYS_MEMBER="0" HOUR_LIGHTS_ON="0" MAX_MONTH_FOR_MULTIPLES_RENTALS_BY_MEMBER="2" MAX_MONTH_FOR_MULTIPLES_RENTALS_BY_USER="6" MAX_RENTAL_BY_MEMBER="30" MAX_RENTAL_BY_USER="15" MULTIPLE_RENTALS_BY_MEMBER="1" MULTIPLE_RENTALS_BY_USER="1" NUM_DAYS_TO_CLOSE_BY_MEMBER="0" NUM_DAYS_TO_CLOSE_BY_USER="0" NUM_DAYS_TO_OPEN_BY_MEMBER="30" NUM_DAYS_TO_OPEN_BY_USER="60" HOURS_TO_CANCEL_RENTAL_NO_PAID="24" HOURS_TO_CANCEL_RENTAL_NO_PAID_MEMBER="4" RENT_DURATION="0" RESERVATION_TYPE="0" STATE="2" SURFACE="Cesped Natural" ID_COURTTYPE="7" ID_SPORT_FACILITY="132" REFERENCE_CANCEL_DATE="1" REFERENCE_CANCEL_DATE_BY_MEMBER="2"/>
  <court ID="3" CREATED_DATE="2013-11-25 13:52:33.0" LENGTH_RENTAL="60" NAME="pista 1" PRICE="10.00" DAYS_CLIENT="0" DAYS_MEMBER="0" HOUR_LIGHTS_ON="0" MAX_MONTH_FOR_MULTIPLES_RENTALS_BY_MEMBER="2" MAX_MONTH_FOR_MULTIPLES_RENTALS_BY_USER="6" MAX_RENTAL_BY_MEMBER="10" MAX_RENTAL_BY_USER="0" MULTIPLE_RENTALS_BY_MEMBER="1" MULTIPLE_RENTALS_BY_USER="1" NUM_DAYS_TO_CLOSE_BY_MEMBER="0" NUM_DAYS_TO_CLOSE_BY_USER="0" NUM_DAYS_TO_OPEN_BY_MEMBER="30" NUM_DAYS_TO_OPEN_BY_USER="60" RENT_DURATION="0" RESERVATION_TYPE="0" STATE="2" SURFACE="Sin determinar" ID_COURTTYPE="1" ID_SPORT_FACILITY="198"/>
  <courttype ID="1" DESCRIPTION="Futbol Sala" NAME="Futbol Sala" ORDEN="1"/>
  <courttype ID="2" DESCRIPTION="Padel" NAME="Padel" ORDEN="5"/>
  <courttype ID="3" DESCRIPTION="Futbol 7" NAME="Futbol 7" ORDEN="2"/>
  <courttype ID="5" DESCRIPTION="Futbol 11" NAME="Futbol 11" ORDEN="3"/>
  <courttype ID="6" DESCRIPTION="Baloncesto Cemento" NAME="Baloncesto Cemento" ORDEN="4"/>
  <courttype ID="7" DESCRIPTION="Tenis" NAME="Tenis" ORDEN="6"/>
  <courttype ID="8" DESCRIPTION="Fronton" NAME="Fronton" ORDEN="7"/>
  <courttype ID="9" DESCRIPTION="Voley" NAME="Voley" ORDEN="8"/>
  <courttype ID="10" DESCRIPTION="Petanca" NAME="Petanca" ORDEN="9"/>
  <courttype ID="11" DESCRIPTION="Squash" NAME="Squash" ORDEN="10"/>
  <courttype ID="12" DESCRIPTION="Hockey" NAME="Hockey" ORDEN="11"/>
  <courttype ID="13" DESCRIPTION="Rugby" NAME="Rugby" ORDEN="12"/>
  <courttype ID="14" DESCRIPTION="Beisbol" NAME="Beisbol" ORDEN="13"/>
  <day ID="7" DAY_OF_WEEK="MONDAY" endHour="20:00:00" initHour="10:00:00" ID_TIME_PERIOD="2"/>
  <day ID="8" DAY_OF_WEEK="TUESDAY" endHour="20:00:00" initHour="10:00:00" ID_TIME_PERIOD="2"/>
  <day ID="9" DAY_OF_WEEK="WEDNESDAY" endHour="20:00:00" initHour="10:00:00" ID_TIME_PERIOD="2"/>
  <day ID="10" DAY_OF_WEEK="THURSDAY" endHour="20:00:00" initHour="10:00:00" ID_TIME_PERIOD="2"/>
  <day ID="11" DAY_OF_WEEK="FRIDAY" endHour="20:00:00" initHour="10:00:00" ID_TIME_PERIOD="2"/>
  <day ID="12" DAY_OF_WEEK="SATURDAY" endHour="20:00:00" initHour="10:00:00" ID_TIME_PERIOD="2"/>
  <day ID="27" DAY_OF_WEEK="MONDAY" endHour="23:00:00" initHour="09:00:00" ID_TIME_PERIOD="3"/>
  <day ID="28" DAY_OF_WEEK="WEDNESDAY" endHour="23:00:00" initHour="09:00:00" ID_TIME_PERIOD="3"/>
  <day ID="29" DAY_OF_WEEK="FRIDAY" endHour="23:00:00" initHour="09:00:00" ID_TIME_PERIOD="3"/>
  <day ID="30" DAY_OF_WEEK="TUESDAY" endHour="14:00:00" initHour="10:00:00" ID_TIME_PERIOD="3"/>
  <day ID="31" DAY_OF_WEEK="THURSDAY" endHour="13:30:00" initHour="08:00:00" ID_TIME_PERIOD="3"/>
  <day ID="32" DAY_OF_WEEK="SATURDAY" endHour="14:30:00" initHour="10:00:00" ID_TIME_PERIOD="3"/>
  <day ID="33" DAY_OF_WEEK="SATURDAY" endHour="22:30:00" initHour="17:30:00" ID_TIME_PERIOD="3"/>
  <day ID="34" DAY_OF_WEEK="TUESDAY" endHour="23:00:00" initHour="15:00:00" ID_TIME_PERIOD="3"/>
  <master_data ID="2" DESCRIPTION="Usted recibir&#225; la factura de pistea cada mes" DATA_GROUP="tipo_pago" DATA_NAME="Mensual" POSITION="2" DATA_VALUE="2"/>
  <master_data ID="3" DESCRIPTION="Sin determinar" DATA_GROUP="pavimento" DATA_NAME="Sin determinar" POSITION="1" DATA_VALUE="Sin determinar"/>
  <master_data ID="4" DESCRIPTION="Pistas de cemento" DATA_GROUP="pavimento" DATA_NAME="Cemento" POSITION="2" DATA_VALUE="Cemento"/>
  <master_data ID="5" DESCRIPTION="Pistas de Cesped Natural" DATA_GROUP="pavimento" DATA_NAME="Cesped Natural" POSITION="3" DATA_VALUE="Cesped Natural"/>
  <master_data ID="6" DESCRIPTION="Pistas de Cesped Artificial" DATA_GROUP="pavimento" DATA_NAME="Cesped Artificial" POSITION="4" DATA_VALUE="Cesped Artificial"/>
  <master_data ID="7" DESCRIPTION="Pistas de Parqu&#233;" DATA_GROUP="pavimento" DATA_NAME="Parqu&#233;" POSITION="5" DATA_VALUE="Parqu&#233;"/>
  <master_data ID="8" DESCRIPTION="Pistas de Hormigon Poroso" DATA_GROUP="pavimento" DATA_NAME="Hormigon Poroso" POSITION="6" DATA_VALUE="Hormigon Poroso"/>
  <master_data ID="9" DESCRIPTION="Pistas de Hormigon Pulido" DATA_GROUP="pavimento" DATA_NAME="Hormigon Pulido" POSITION="7" DATA_VALUE="Hormigon Pulido"/>
  <master_data ID="10" DESCRIPTION="Pistas de Caucho" DATA_GROUP="pavimento" DATA_NAME="Caucho" POSITION="8" DATA_VALUE="Caucho"/>
  <master_data ID="11" DESCRIPTION="Pistas de Albero" DATA_GROUP="pavimento" DATA_NAME="Albero" POSITION="9" DATA_VALUE="Albero"/>
  <master_data ID="12" DESCRIPTION="Pistas de Arena de Playa" DATA_GROUP="pavimento" DATA_NAME="Arena de Playa" POSITION="10" DATA_VALUE="Arena de Playa"/>
  <master_data ID="13" DESCRIPTION="Usted pagar&#225; una comisi&#243;n fija establecida en nuestra pol&#237;tica de precios al mes a modo de cuota fija." DATA_GROUP="tipo_comision" DATA_NAME="Comisi&#243;n fija" POSITION="1" DATA_VALUE="1"/>
  <master_data ID="14" DESCRIPTION="A cada alquiler que se haga de sus pistas deportivas, el usuario final pagar&#225; la comisi&#243;n establecida en nuestra pol&#237;tica de precios." DATA_GROUP="tipo_comision" DATA_NAME="Comisi&#243;n por alquiler" POSITION="2" DATA_VALUE="2"/>
  <master_data ID="15" DESCRIPTION="Usted recibir&#225; la factura de pistea cada 3 meses" DATA_GROUP="tipo_pago" DATA_NAME="Trimestral" POSITION="3" DATA_VALUE="3"/>
  <master_data ID="16" DESCRIPTION="Usted recibir&#225; la factura de pistea cada 6 meses" DATA_GROUP="tipo_pago" DATA_NAME="Semestral" POSITION="4" DATA_VALUE="4"/>
  <master_data ID="17" DESCRIPTION="Usted recibir&#225; la factura de pistea cada 12 meses" DATA_GROUP="tipo_pago" DATA_NAME="Anual" POSITION="5" DATA_VALUE="5"/>
  <paymentstype ID="1" DESCRIPTION="Se realizar&#225; el pago a trav&#233;s del monedero electr&#243;nico de PISTEA" NAME="Monedero Electr&#243;nico Pistea" ORDEN="1"/>
  <paymentstype ID="2" DESCRIPTION="Se realizar&#225; el pago a trav&#233;s del monedero electr&#243;nico propio de la instalaci&#243;n" NAME="Monedero Electr&#243;nico Propio" ORDEN="2"/>
  <paymentstype ID="3" DESCRIPTION="Pago a trav&#233;s de la tarjeta de cr&#233;dito" NAME="Pasarela de pago" ORDEN="3"/>
  <paymentstype ID="4" DESCRIPTION="Pago directo en la instalaci&#243;n deportiva" NAME="Pago en Ventanilla" ORDEN="4"/>
  <paymentstype ID="5" DESCRIPTION="Pago por transferencia bancaria" NAME="Transferencia Bancaria" ORDEN="5"/>
  <role ID="1" NAME="SuperAdmin"/>
  <role ID="2" NAME="User"/>
  <role ID="3" NAME="SportFacilityAdmin"/>
  <sport_facility ID="132" ADDRESS="C/ Rafael Cansinos Assens n&#186;4 5&#186;A" ZIP_CODE="41008" ACCOUNT_NUMBER="1111111111" BANK_NAME="uno-e" CONTROL_CODE="11" ENTITY_CODE="1111" OFFICE_CODE="1111" COMMISION_TYPE="1" EMAIL="alejandro.alves@gmail.com" PHONE1="954417080" CREATED_DATE="2013-11-16 17:39:21.0" DESCRIPTION="asdasd asda sdkasd;asd asd;ljk adjas dfasd;lf salkf; s;adlkf jsal;df saldfj lsdafjlsaf l;asddfj lasd;dfasdj flsadflsadfj asdlf" GET_HERE="En coche que est&#225; mu lejos" INVOICE_ADDRESS="Rafael cansinos assens " INVOICE_CIF="111111111111" INVOICE_NAME="Pepe Nieto" PAYMENT_METHOD="2" LAST_MODIFIED_DATE="2013-11-16 17:39:21.0" NAME="Sevilla FC" SPORT_FACILITY_INITIAL="1" STATE="2" URL_NAME="sfc" ID_MUNICIPALITY="1" ID_PROVINCE="1" ID_ZONE="1" TYPE_ID="3"/>
  <sport_facility ID="359" ADDRESS="calle Atenas, s/n" ZIP_CODE="11690" EMAIL="deportes@olvera.es" PHONE1="956130081" CREATED_DATE="2013-12-08 19:13:02.0" LAST_MODIFIED_DATE="2013-12-08 19:13:02.0" NAME="Olivera" STATE="2" URL_NAME="olvera" ID_MUNICIPALITY="1" ID_PROVINCE="1" TYPE_ID="1"/>
  <sport_facility_type ID="1" TYPE="Basico"/>
  <sport_facility_type ID="2" TYPE="Informativo"/>
  <sport_facility_type ID="3" TYPE="Completo"/>
  <sport_facility_type ID="4" TYPE="Comunidad"/>
  <time_period ID="3" CLOSED="0" CREATED_DATE="2014-01-14 15:05:00.0" END_DATE="2014-12-31" INIT_DATE="2014-01-01" LAST_MODIFIED_DATE="2014-01-14 15:05:31.0" NAME="2014" ID_SPORT_FACILITY="132"/>
  <user USERTYPE="CLIENT" ID="1" ACCEPT_LEGAL_CONDITIONS="1" ACCOUNT_NON_EXPIRED="T" ACCOUNT_NON_LOCKED="T" ACTIVE_EMAIL_NOTIFICATION="T" ACTIVE_SMS_NOTIFICATION="T" EMAIL="alejandro.alves@gmail.com" PHONE1="" CREATED_DATE="2013-10-24 13:32:58.0" CREDENTIALS_NON_EXPIRED="T" ENABLED="T" FIRST_LASTNAME="alves" FULLNAME="alejandro alves " LAST_MODIFIED_DATE="2013-10-24 13:32:58.0" NAME="alejandro" PASSWORD="e5d1883020c6a5339cd007fa1b360b4eff6fc82e" SECOND_LASTNAME="" username="aalvesu " ACTIVE_TOOLTIP="T" DIFFERENT_INVOICE_ADDRESS="0" DNI=""/>
  <user USERTYPE="ADMIN" ID="2" ACCEPT_LEGAL_CONDITIONS="1" ACCOUNT_NON_EXPIRED="T" ACCOUNT_NON_LOCKED="T" ACTIVE_EMAIL_NOTIFICATION="T" ACTIVE_SMS_NOTIFICATION="T" EMAIL="alejandro.alves@ope1ncmshispano.com" CREATED_DATE="2013-10-24 13:46:56.0" CREDENTIALS_NON_EXPIRED="T" ENABLED="T" FIRST_LASTNAME="alves" FULLNAME="alejandro alves " LAST_MODIFIED_DATE="2013-10-24 13:46:56.0" NAME="alejandro" PASSWORD="e5d1883020c6a5339cd007fa1b360b4eff6fc82e" SECOND_LASTNAME="" username="superadmin" ACTIVE_TOOLTIP="T" DIFFERENT_INVOICE_ADDRESS="0" DNI=""/>
  <user USERTYPE="ADMIN" ID="3" ACCEPT_LEGAL_CONDITIONS="1" ACCOUNT_NON_EXPIRED="T" ACCOUNT_NON_LOCKED="T" ACTIVE_EMAIL_NOTIFICATION="T" ACTIVE_SMS_NOTIFICATION="T" EMAIL="alejandro.alves@ope2ncmshispano.com" CREATED_DATE="2013-10-24 16:46:19.0" CREDENTIALS_NON_EXPIRED="T" ENABLED="T" FIRST_LASTNAME="alves" FULLNAME="alejandro alves " LAST_MODIFIED_DATE="2013-10-24 16:46:19.0" NAME="alejandro" PASSWORD="e5d1883020c6a5339cd007fa1b360b4eff6fc82e" SECOND_LASTNAME="" username="aalves" ACTIVE_TOOLTIP="T" DIFFERENT_INVOICE_ADDRESS="0" DNI=""/>
  <user USERTYPE="CLIENT" ID="9" ACCEPT_LEGAL_CONDITIONS="1" ACCOUNT_NON_EXPIRED="T" ACCOUNT_NON_LOCKED="T" ACTIVE_EMAIL_NOTIFICATION="T" ACTIVE_SMS_NOTIFICATION="T" EMAIL="alejandro.alves@opencmshispano.com" PHONE1="9886279" CREATED_DATE="2013-11-22 19:25:55.0" CREDENTIALS_NON_EXPIRED="T" ENABLED="T" FIRST_LASTNAME="alves" FULLNAME="alejandro alves " LAST_MODIFIED_DATE="2013-11-22 19:25:55.0" NAME="alejandro" PASSWORD="4eb4b5db911318611ba56041d3db529a6f83c3f7" SECOND_LASTNAME="" username="rafask" ACTIVE_TOOLTIP="T" DIFFERENT_INVOICE_ADDRESS="0" DNI=""/>
  <user_role ID="1" ROLE="2" USER="1"/>
  <user_role ID="2" ROLE="1" USER="2"/>
  <user_role ID="3" ROLE="3" USER="3"/>
  <user_role ID="9" ROLE="2" USER="9"/>
 
  <comments ID="1" DATE="2014-01-22 19:25:57.0" ID_SPORTFACILITY="132" ID_USER_FROM="1" TEXT="Esta instalacion es muy chula"/>
  <comments ID="2" DATE="2014-02-01 19:25:57.0"  ID_USER_FROM="2" PARENT_ID="1" TEXT="Si que lo es"/>
  <comments ID="3" DATE="2014-02-02 19:25:57.0"  ID_USER_FROM="3" PARENT_ID="1" TEXT="Me encanta"/>
  <comments ID="4" DATE="2014-02-03 19:25:57.0"  ID_USER_FROM="2" PARENT_ID="3" TEXT="Po dale cana pirana"/>
  <comments ID="5" DATE="2013-11-22 19:25:57.0"  ID_USER_FROM="1" ID_SPORTFACILITY="132" TEXT="Po dale cana pirana"/>
 
  <comments ID="6" DATE="2014-01-22 19:25:57.0"  ID_CIRCLE="1" ID_USER_FROM="1" TEXT="Esta instalacion es muy chula"/>
  <comments ID="7" DATE="2014-02-01 19:25:57.0"  ID_USER_FROM="2" PARENT_ID="6" TEXT="Si que lo es"/>
  <comments ID="8" DATE="2014-02-02 19:25:57.0"  ID_USER_FROM="3" PARENT_ID="1" TEXT="Me encanta"/>
  <comments ID="9" DATE="2014-02-03 19:25:57.0"  ID_USER_FROM="2" PARENT_ID="3" TEXT="Po dale cana pirana"/>
  <comments ID="10" DATE="2013-11-22 19:25:57.0"  ID_USER_FROM="3" ID_CIRCLE="2" TEXT="Po dale cana pirana"/>
  <comments ID="14" DATE="2013-11-22 19:25:57.0"  ID_USER_FROM="3" ID_CIRCLE="2" TEXT="Po dale cana pirana"/>
 
  <comments ID="11" DATE="2014-01-22 19:25:57.0"  ID_USER_FROM="1" ID_TARGET_USER="2" TEXT="ERES LA CANA"/>
  <comments ID="12" DATE="2014-02-01 19:25:57.0"  ID_USER_FROM="2" PARENT_ID="11" TEXT="GRACIAS!!"/>
  <comments ID="13" DATE="2014-02-02 19:25:57.0"  ID_USER_FROM="3" ID_TARGET_USER="1" TEXT="VAYA GOLAZO EL DE AYER!!"/>
 
  <circle ID="1" ID_ADMIN="1" NAME="Malditos Bastardos" DATE="2014-01-22 19:25:57.0"/>
  <circle ID="2" ID_ADMIN="2" NAME="Perracas" DATE="2014-01-22 19:25:57.0"/>
  <circle ID="3" ID_ADMIN="3" NAME="Putitas" DATE="2014-01-22 19:25:57.0"/>

  <likes ID="1" DATE="2013-11-22 19:25:57.0"  ID_USER="1" ID_SPORTFACILITY="132"/>
  <likes ID="2" DATE="2013-11-22 19:25:57.0"  ID_USER="2" ID_SPORTFACILITY="132"/>
  <likes ID="3" DATE="2013-11-22 19:25:57.0"  ID_USER="1" ID_COMMENT="1" />
</dataset>




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.