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: NHibernate newbie - Exception NHibernate.MappingException: U
PostPosted: Sat Aug 16, 2008 11:23 am 
Newbie

Joined: Sat Aug 16, 2008 11:10 am
Posts: 1
Hello,

i have two classes with a one to many relation.

Code:
using System;
using System.Collections.Generic;

namespace Project.Persistenz
{
    [NHibernate.Mapping.Attributes.Class(0)]
    public class customers
    {
        private int _id;
        private string _accountNumber;
        private string _companyName;
        private string _street;
        private string _zipCode;
        private string _city;
        private string _country;
        private IList<contact> _contacts = new List<contact>();

        [NHibernate.Mapping.Attributes.Id(0, Column = "id", TypeType = typeof(int), UnsavedValue = "0")]
        [NHibernate.Mapping.Attributes.Generator(1, Class = "native")]
        public virtual int id
        {
            get { return _id; }
            set { _id = value; }
        }

        [NHibernate.Mapping.Attributes.Property(NotNull = true, Length = 50)]
        public virtual string accountNumber
        {
            get { return _accountNumber; }
            set { _accountNumber = value; }
        }

        [NHibernate.Mapping.Attributes.Property(NotNull = true, Length = 50)]
        public virtual string companyName
        {
            get { return _companyName; }
            set { _companyName = value; }
        }

        [NHibernate.Mapping.Attributes.Property(Length = 50)]
        public virtual string street
        {
            get { return _street; }
            set { _street = value; }
        }

        [NHibernate.Mapping.Attributes.Property(Length = 10)]
        public virtual string zipCode
        {
            get { return _zipCode; }
            set { _zipCode = value; }
        }

        [NHibernate.Mapping.Attributes.Property(Length = 50)]
        public virtual string city
        {
            get { return _city; }
            set { _city = value; }
        }

        [NHibernate.Mapping.Attributes.Property(Length = 50)]
        public virtual string country
        {
            get { return _country; }
            set { _country = value; }
        }

        [NHibernate.Mapping.Attributes.Bag(0, Cascade = NHibernate.Mapping.Attributes.CascadeStyle.All, Inverse = true)]
        [NHibernate.Mapping.Attributes.Key(1, Column = "customers_id")]
        [NHibernate.Mapping.Attributes.OneToMany(2, ClassType = typeof(contact))]
        public virtual IList<contact> contacts
        {
            get { return _contacts; }
            set { _contacts = value; }
        }
    }
}

using System;

namespace Project.Persistenz
{
    [NHibernate.Mapping.Attributes.Class(0)]
    public class contact
    {
        private int _id;
        private int _customers_id;
        private string _title;
        private string _name;
        private string _firstName;
        private string _phone;
        private string _mobilePhone;
        private string _fax;
        private string _email1;
        private string _email2;

        [NHibernate.Mapping.Attributes.Id(0, Column = "id", TypeType = typeof(int), UnsavedValue = "0")]
        [NHibernate.Mapping.Attributes.Generator(1, Class = "native")]
        public virtual int id
        {
            get { return _id; }
            set { _id = value; }
        }

        [NHibernate.Mapping.Attributes.ManyToOne(0, ClassType = typeof(customers), Column = "id", ForeignKey = "FK_contact_customers", Name = "customers_id", NotNull = true)]
        public virtual int customers_id
        {
            get { return _customers_id; }
            set { _customers_id = value; }
        }

        [NHibernate.Mapping.Attributes.Property(Length = 10)]
        public virtual string title
        {
            get { return _title; }
            set { _title = value; }
        }

        [NHibernate.Mapping.Attributes.Property(NotNull = true, Length = 50)]
        public virtual string name
        {
            get { return _name; }
            set { _name = value; }
        }

        [NHibernate.Mapping.Attributes.Property(NotNull = true, Length = 50)]
        public virtual string firstName
        {
            get { return _firstName; }
            set { _firstName = value; }
        }

        [NHibernate.Mapping.Attributes.Property(Length = 50)]
        public virtual string phone
        {
            get { return _phone; }
            set { _phone = value; }
        }

        [NHibernate.Mapping.Attributes.Property(Length = 50)]
        public virtual string mobilePhone
        {
            get { return _mobilePhone; }
            set { _mobilePhone = value; }
        }

        [NHibernate.Mapping.Attributes.Property(Length = 50)]
        public virtual string fax
        {
            get { return _fax; }
            set { _fax = value; }
        }

        [NHibernate.Mapping.Attributes.Property(Length = 50)]
        public virtual string email1
        {
            get { return _email1; }
            set { _email1 = value; }
        }

        [NHibernate.Mapping.Attributes.Property(Length = 50)]
        public virtual string email2
        {
            get { return _email2; }
            set { _email2 = value; }
        }
    }
}


When i try to execute the folowing code i become an exception

Code:
            ITransaction tr =  NHibernateFactory.getSession().BeginTransaction();
            tr.Begin();


            customers _customer = new customers();
            _customer.accountNumber = "sadsdasdasd";
            _customer.city = "asdsadsadad";
            _customer.companyName = "asdasdsad";
            _customer.country = "aasdsadsadsa";
            _customer.street = "adsadsadads";
            _customer.zipCode = "23213";


            contact _contact = new contact();
            _contact.name = "sdasdsadd";
            _contact.firstName = "asdasdadsad";

            _customer.contacts.Add(_contact);

            NHibernateFactory.getSession().Save(_customer);

            tr.Commit();


Exception:
Quote:
NHibernate.MappingException: Unknown entity class: System.Int32
bei NHibernate.Impl.SessionFactoryImpl.GetEntityPersister(Type theClass)
bei NHibernate.Impl.SessionImpl.GetClassPersister(Type theClass)
bei NHibernate.Impl.SessionImpl.IsUnsaved(Object obj, Boolean earlyInsert, Object self)
bei NHibernate.Impl.SessionImpl.NullifyTransientReferences(Object value, IType type, Boolean earlyInsert, Object self)
bei NHibernate.Impl.SessionImpl.NullifyTransientReferences(Object[] values, IType[] types, Boolean earlyInsert, Object self)
bei NHibernate.Impl.SessionImpl.DoSave(Object theObj, EntityKey key, IEntityPersister persister, Boolean replicate, Boolean useIdentityColumn, CascadingAction cascadeAction, Object anything)
bei NHibernate.Impl.SessionImpl.DoSave(Object obj, Object id, IEntityPersister persister, Boolean useIdentityColumn, CascadingAction cascadeAction, Object anything)
bei NHibernate.Impl.SessionImpl.SaveWithGeneratedIdentifier(Object obj, CascadingAction action, Object anything)
bei NHibernate.Impl.SessionImpl.Save(Object obj)
bei NHibernate.Impl.SessionImpl.SaveOrUpdate(Object obj)
bei NHibernate.Engine.Cascades.CascadingAction.ActionSaveUpdateClass.Cascade(ISessionImplementor session, Object child, Object anything)
bei NHibernate.Engine.Cascades.Cascade(ISessionImplementor session, Object child, IType type, CascadingAction action, CascadeStyle style, CascadePoint cascadeTo, Object anything)
bei NHibernate.Engine.Cascades.CascadeCollection(CascadingAction action, CascadeStyle style, CollectionType collectionType, IType elemType, Object child, CascadePoint cascadeVia, ISessionImplementor session, Object anything)
bei NHibernate.Engine.Cascades.Cascade(ISessionImplementor session, Object child, IType type, CascadingAction action, CascadeStyle style, CascadePoint cascadeTo, Object anything)
bei NHibernate.Engine.Cascades.Cascade(ISessionImplementor session, IEntityPersister persister, Object parent, CascadingAction action, CascadePoint cascadeTo, Object anything)
bei NHibernate.Impl.SessionImpl.DoSave(Object theObj, EntityKey key, IEntityPersister persister, Boolean replicate, Boolean useIdentityColumn, CascadingAction cascadeAction, Object anything)
bei NHibernate.Impl.SessionImpl.DoSave(Object obj, Object id, IEntityPersister persister, Boolean useIdentityColumn, CascadingAction cascadeAction, Object anything)
bei NHibernate.Impl.SessionImpl.SaveWithGeneratedIdentifier(Object obj, CascadingAction action, Object anything)
bei NHibernate.Impl.SessionImpl.Save(Object obj)


Have any one a hint for me to solve this problem?

Greetings MisterXYZ


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.