-->
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.  [ 8 posts ] 
Author Message
 Post subject: Why doesn't the child in the bag persist?
PostPosted: Mon Mar 06, 2006 10:55 am 
Newbie

Joined: Sat Feb 25, 2006 3:30 pm
Posts: 13
Why doesn't the child persist?

I create a parent object and create a Child object. Then I add the child to an ArrayList of the Parent.

I save the Parent and it saves. the Child does not get created in the db.

If I save the Child, it saves and it is correctly linked to it Parent.

What I expected was that the Save would cascade down from the Parent to the Child. I want to be able to save both objects by just coding session.Save(parentInstance);

I am still flailing a bit. I tried using <bag> syntax from another post.

Many thanks,
Steve Brennan

Hibernate version: NHibernate 1.0.2

Mapping documents:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
<class name="NHRepro.Parent, NHRepro" table="[Parent]">
<id name="ParentID" column="parent_id" type="int" unsaved-value="-1">
<generator class="native" />
</id>
<bag name="Children" table="Child" inverse="true">
<key column="parent_id"/>
<one-to-many class="NHRepro.Child, NHRepro" />
</bag>
</class>
</hibernate-mapping>

and

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
<class name="NHRepro.Child, NHRepro" table="[Child]">
<id name="ChildID" column="child_id" type="int" unsaved-value="-1">
<generator class="native" />
</id>
<many-to-one name="Parent" column="myparent_id" not-null="true"
cascade="all"
class="NHRepro.Parent, NHRepro"
/>
</class>
</hibernate-mapping>


Code between sessionFactory.openSession() and session.close():
Code:
Parent p = new Parent();
session.Save(p);
Child c = new Child();
p.AddChild(c);
session.Save(p);
session.Flush();



Full stack trace of any exception that occurs:
No exception.

Name and version of the database you are using:
SQL Server 2000, SP3

The generated SQL (show_sql=true):
From SQL Profiler:
INSERT INTO [Parent] DEFAULT VALUES; select SCOPE_IDENTITY()
INSERT INTO [Parent] DEFAULT VALUES;
INSERT INTO [Parent] DEFAULT VALUES;
select SCOPE_IDENTITY()
select SCOPE_IDENTITY()
INSERT INTO [Parent] DEFAULT VALUES; select SCOPE_IDENTITY()



Debug level Hibernate log excerpt:
3578 [5176] DEBUG NHibernate.Impl.SessionFactoryObjectFactory (null) - initializing class SessionFactoryObjectFactory
3578 [5176] DEBUG NHibernate.Impl.SessionFactoryObjectFactory (null) - registered: 122af7f0598141b4bf799a6ab7fe5848(unnamed)
3578 [5176] INFO NHibernate.Impl.SessionFactoryObjectFactory (null) - no name configured
3578 [5176] DEBUG NHibernate.Impl.SessionFactoryImpl (null) - Instantiated session factory
3593 [5176] DEBUG NHibernate.Impl.SessionImpl (null) - opened session
3609 [5176] DEBUG NHibernate.Impl.SessionImpl (null) - saving [NHRepro.Parent#<null>]
3609 [5176] DEBUG NHibernate.Impl.SessionImpl (null) - executing insertions
3609 [5176] DEBUG NHibernate.Impl.WrapVisitor (null) - Wrapped collection in role: NHRepro.Parent.Children
3625 [5176] DEBUG NHibernate.Persister.EntityPersister (null) - Inserting entity: NHRepro.Parent (native id)
3625 [5176] DEBUG NHibernate.Impl.BatcherImpl (null) - Opened new IDbCommand, open IDbCommands :1
3625 [5176] DEBUG NHibernate.Impl.BatcherImpl (null) - Building an IDbCommand object for the SqlString: INSERT INTO [Parent] DEFAULT VALUES; select SCOPE_IDENTITY()
3625 [5176] DEBUG NHibernate.Persister.EntityPersister (null) - Dehydrating entity: [NHRepro.Parent#<null>]
3625 [5176] DEBUG NHibernate.SQL (null) - INSERT INTO [Parent] DEFAULT VALUES; select SCOPE_IDENTITY()
NHibernate: INSERT INTO [Parent] DEFAULT VALUES; select SCOPE_IDENTITY()
3640 [5176] DEBUG NHibernate.Connection.DriverConnectionProvider (null) - Obtaining IDbConnection from Driver
4109 [5176] DEBUG NHibernate.Impl.BatcherImpl (null) - Opened Reader, open Readers :1
4125 [5176] DEBUG NHibernate.Persister.AbstractEntityPersister (null) - Natively generated identity: 34
4125 [5176] DEBUG NHibernate.Driver.NHybridDataReader (null) - running NHybridDataReader.Dispose()
4125 [5176] DEBUG NHibernate.Impl.BatcherImpl (null) - Closed Reader, open Readers :0
4125 [5176] DEBUG NHibernate.Impl.BatcherImpl (null) - Closed IDbCommand, open IDbCommands :0
4140 [5176] DEBUG NHibernate.Impl.SessionImpl (null) - object already associated with session
4140 [5176] DEBUG NHibernate.Impl.SessionImpl (null) - flushing session
4140 [5176] DEBUG NHibernate.Impl.SessionImpl (null) - Flushing entities and processing referenced collections
4156 [5176] DEBUG NHibernate.Impl.AbstractVisitor (null) - Processing collection for role NHRepro.Parent.Children
4156 [5176] DEBUG NHibernate.Impl.SessionImpl (null) - Collection found: [NHRepro.Parent.Children#34], was: [<unreferenced>]
4156 [5176] DEBUG NHibernate.Impl.SessionImpl (null) - Processing unreferenced collections
4156 [5176] DEBUG NHibernate.Impl.SessionImpl (null) - scheduling collection removes/(re)creates/updates
4156 [5176] DEBUG NHibernate.Impl.SessionImpl (null) - Flushed: 0 insertions, 0 updates, 0 deletions to 1 objects
4156 [5176] DEBUG NHibernate.Impl.SessionImpl (null) - Flushed: 1 (re)creations, 0 updates, 0 removals to 1 collections
4156 [5176] DEBUG NHibernate.Impl.Printer (null) - listing entities:
4156 [5176] DEBUG NHibernate.Impl.Printer (null) - NHRepro.Parent{ParentID=34, Children=[Child#-1]}
4156 [5176] DEBUG NHibernate.Impl.SessionImpl (null) - executing flush
4171 [5176] DEBUG NHibernate.Impl.SessionImpl (null) - post flush


[/code]


Top
 Profile  
 
 Post subject:
PostPosted: Mon Mar 06, 2006 12:38 pm 
Regular
Regular

Joined: Tue Jan 03, 2006 9:52 am
Posts: 52
Location: Zurich
Hello Steve,
Remove inverse="true" from your mapping.
<bag name="Children" table="Child" inverse="true">

<bag name="Children" table="Child">

This is why the save is not propagated down to the child when you save the parent..

Hope this helps!
Urs


Top
 Profile  
 
 Post subject: Still not saving the child
PostPosted: Mon Mar 06, 2006 2:45 pm 
Newbie

Joined: Sat Feb 25, 2006 3:30 pm
Posts: 13
Thanks for the suggestion to remove the inverse attribute.

I have removed the inverse attribute. No joy.

Code:
Parent p = new Parent();
session.Save(p);
Child c = new Child();
p.AddChild(c);
session.Save(p);
session.Flush();


The child object is still not saved to the database.
I am now getting an exception when I call session.Flush.

object references an unsaved transient instance - save the transient instance before flushing: NHRepro.Child.


Here is the new log4net output:
1028 [3340] INFO NHibernate.Cfg.Environment (null) - NHibernate 1.0.2
1885 [3340] INFO NHibernate.Cfg.Environment (null) - Using reflection optimizer
1885 [3340] INFO NHibernate.Cfg.Configuration (null) - Searching for mapped documents in assembly: NHRepro
1901 [3340] INFO NHibernate.Cfg.Configuration (null) - Found mapping documents in assembly: NHRepro.Child.hbm.xml
2041 [3340] INFO NHibernate.Dialect.Dialect (null) - Using dialect: NHibernate.Dialect.MsSql2000Dialect
2088 [3340] INFO NHibernate.Cfg.Binder (null) - Mapping class: NHRepro.Child -> [Child]
2104 [3340] DEBUG NHibernate.Cfg.Binder (null) - Mapped property: ChildID -> child_id, type: Int32
2119 [3340] DEBUG NHibernate.Cfg.Binder (null) - Mapped property: Parent -> myparent_id, type: Parent
2119 [3340] INFO NHibernate.Cfg.Configuration (null) - Found mapping documents in assembly: NHRepro.Parent.hbm.xml
2119 [3340] INFO NHibernate.Dialect.Dialect (null) - Using dialect: NHibernate.Dialect.MsSql2000Dialect
2119 [3340] INFO NHibernate.Cfg.Binder (null) - Mapping class: NHRepro.Parent -> [Parent]
2119 [3340] DEBUG NHibernate.Cfg.Binder (null) - Mapped property: ParentID -> parent_id, type: Int32
2135 [3340] DEBUG NHibernate.Cfg.Binder (null) - Mapped property: Children, type: ICollection
2135 [3340] INFO NHibernate.Cfg.Configuration (null) - processing one-to-many association mappings
2135 [3340] DEBUG NHibernate.Cfg.Binder (null) - Second pass for collection: NHRepro.Parent.Children
2135 [3340] INFO NHibernate.Cfg.Binder (null) - mapping collection: NHRepro.Parent.Children -> [Child]
2135 [3340] DEBUG NHibernate.Cfg.Binder (null) - Mapped collection key: parent_id, one-to-many: Child
2135 [3340] INFO NHibernate.Cfg.Configuration (null) - processing one-to-one association property references
2135 [3340] INFO NHibernate.Cfg.Configuration (null) - processing foreign key constraints
2135 [3340] DEBUG NHibernate.Cfg.Configuration (null) - resolving reference to class: Parent
2150 [3340] DEBUG NHibernate.Cfg.Configuration (null) - resolving reference to class: Parent
2150 [3340] INFO NHibernate.Dialect.Dialect (null) - Using dialect: NHibernate.Dialect.MsSql2000Dialect
2150 [3340] INFO NHibernate.Cfg.SettingsFactory (null) - use outer join fetching: True
2150 [3340] INFO NHibernate.Connection.ConnectionProviderFactory (null) - Intitializing connection provider: NHibernate.Connection.DriverConnectionProvider
2150 [3340] INFO NHibernate.Connection.ConnectionProvider (null) - Configuring ConnectionProvider
2150 [3340] INFO NHibernate.Cfg.SettingsFactory (null) - Optimize cache for minimal puts: False
2150 [3340] INFO NHibernate.Cfg.SettingsFactory (null) - echoing all SQL to stdout
2150 [3340] INFO NHibernate.Cfg.SettingsFactory (null) - Query language substitutions: {}
2150 [3340] INFO NHibernate.Cfg.SettingsFactory (null) - cache provider: NHibernate.Cache.HashtableCacheProvider
2150 [3340] INFO NHibernate.Cfg.Configuration (null) - instantiating and configuring caches
2166 [3340] INFO NHibernate.Impl.SessionFactoryImpl (null) - building session factory
2166 [3340] DEBUG NHibernate.Impl.SessionFactoryImpl (null) - instantiating session factory with properties: {hibernate.dialect=NHibernate.Dialect.MsSql2000Dialect, hibernate.use_reflection_optimizer=True, hibernate.connection.connection_string=Server=localhost;initial catalog=NHRepro;User ID=OneThroughSix; Password=123456, hibernate.connection.provider=NHibernate.Connection.DriverConnectionProvider, hibernate.connection.driver_class=NHibernate.Driver.SqlClientDriver, hibernate.show_sql=true}
2213 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Init compiler for class NHRepro.Child
2213 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Adding referenced assembly c:\brennan\nhrepro\bin\debug\nhibernate.dll
2213 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Adding referenced assembly C:\brennan\NHRepro\bin\Debug\NHRepro.exe
2213 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Adding referenced assembly c:\windows\microsoft.net\framework\v1.1.4322\mscorlib.dll
2213 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Adding referenced assembly c:\brennan\nhrepro\bin\debug\log4net.dll
2213 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Adding referenced assembly c:\windows\assembly\gac\system\1.0.5000.0__b77a5c561934e089\system.dll
3725 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Compiled ok:
using System;
using NHibernate.Property;
namespace NHibernate.Persister {
public class GetSetHelper_NHRepro_Child : IGetSetHelper {
ISetter[] setters;
IGetter[] getters;
public GetSetHelper_NHRepro_Child(ISetter[] setters, IGetter[] getters) {
this.setters = setters;
this.getters = getters;
}
public void SetPropertyValues(object obj, object[] values) {
NHRepro.Child t = (NHRepro.Child)obj;
try
{
t.Parent = (NHRepro.Parent)values[0];
}
catch( InvalidCastException ice )
{
throw new MappingException(
"Invalid mapping information specified for type " + obj.GetType() + ", check your mapping file for property type mismatches",
ice);
}
}
public object[] GetPropertyValues(object obj) {
NHRepro.Child t = (NHRepro.Child)obj;
object[] ret = new object[1];
ret[0] = t.Parent;
return ret;
}
}
}

3740 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Init compiler for class NHRepro.Parent
3740 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Adding referenced assembly c:\brennan\nhrepro\bin\debug\nhibernate.dll
3740 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Adding referenced assembly C:\brennan\NHRepro\bin\Debug\NHRepro.exe
3740 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Adding referenced assembly c:\windows\microsoft.net\framework\v1.1.4322\mscorlib.dll
3740 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Adding referenced assembly c:\brennan\nhrepro\bin\debug\log4net.dll
3740 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Adding referenced assembly c:\windows\assembly\gac\system\1.0.5000.0__b77a5c561934e089\system.dll
3880 [3340] DEBUG NHibernate.Persister.GetSetHelperFactory (null) - Compiled ok:
using System;
using NHibernate.Property;
namespace NHibernate.Persister {
public class GetSetHelper_NHRepro_Parent : IGetSetHelper {
ISetter[] setters;
IGetter[] getters;
public GetSetHelper_NHRepro_Parent(ISetter[] setters, IGetter[] getters) {
this.setters = setters;
this.getters = getters;
}
public void SetPropertyValues(object obj, object[] values) {
NHRepro.Parent t = (NHRepro.Parent)obj;
try
{
t.Children = (System.Collections.IList)values[0];
}
catch( InvalidCastException ice )
{
throw new MappingException(
"Invalid mapping information specified for type " + obj.GetType() + ", check your mapping file for property type mismatches",
ice);
}
}
public object[] GetPropertyValues(object obj) {
NHRepro.Parent t = (NHRepro.Parent)obj;
object[] ret = new object[1];
ret[0] = t.Children;
return ret;
}
}
}

3927 [3340] DEBUG NHibernate.Impl.SessionFactoryObjectFactory (null) - initializing class SessionFactoryObjectFactory
3927 [3340] DEBUG NHibernate.Impl.SessionFactoryObjectFactory (null) - registered: f0a0d0ae876d4aebab708ce12bf71bd1(unnamed)
3927 [3340] INFO NHibernate.Impl.SessionFactoryObjectFactory (null) - no name configured
3927 [3340] DEBUG NHibernate.Impl.SessionFactoryImpl (null) - Instantiated session factory
3927 [3340] DEBUG NHibernate.Impl.SessionImpl (null) - opened session
3927 [3340] DEBUG NHibernate.Impl.SessionImpl (null) - saving [NHRepro.Parent#<null>]
3927 [3340] DEBUG NHibernate.Impl.SessionImpl (null) - executing insertions
3943 [3340] DEBUG NHibernate.Impl.WrapVisitor (null) - Wrapped collection in role: NHRepro.Parent.Children
3943 [3340] DEBUG NHibernate.Persister.EntityPersister (null) - Inserting entity: NHRepro.Parent (native id)
3943 [3340] DEBUG NHibernate.Impl.BatcherImpl (null) - Opened new IDbCommand, open IDbCommands :1
3943 [3340] DEBUG NHibernate.Impl.BatcherImpl (null) - Building an IDbCommand object for the SqlString: INSERT INTO [Parent] DEFAULT VALUES; select SCOPE_IDENTITY()
3943 [3340] DEBUG NHibernate.Persister.EntityPersister (null) - Dehydrating entity: [NHRepro.Parent#<null>]
3943 [3340] DEBUG NHibernate.SQL (null) - INSERT INTO [Parent] DEFAULT VALUES; select SCOPE_IDENTITY()
NHibernate: INSERT INTO [Parent] DEFAULT VALUES; select SCOPE_IDENTITY()
3943 [3340] DEBUG NHibernate.Connection.DriverConnectionProvider (null) - Obtaining IDbConnection from Driver
4161 [3340] DEBUG NHibernate.Impl.BatcherImpl (null) - Opened Reader, open Readers :1
4208 [3340] DEBUG NHibernate.Persister.AbstractEntityPersister (null) - Natively generated identity: 44
4208 [3340] DEBUG NHibernate.Driver.NHybridDataReader (null) - running NHybridDataReader.Dispose()
4208 [3340] DEBUG NHibernate.Impl.BatcherImpl (null) - Closed Reader, open Readers :0
4208 [3340] DEBUG NHibernate.Impl.BatcherImpl (null) - Closed IDbCommand, open IDbCommands :0
4208 [3340] DEBUG NHibernate.Impl.SessionImpl (null) - object already associated with session
4208 [3340] DEBUG NHibernate.Impl.SessionImpl (null) - flushing session
4223 [3340] DEBUG NHibernate.Impl.SessionImpl (null) - Flushing entities and processing referenced collections
4223 [3340] DEBUG NHibernate.Impl.AbstractVisitor (null) - Processing collection for role NHRepro.Parent.Children
4223 [3340] DEBUG NHibernate.Impl.SessionImpl (null) - Collection found: [NHRepro.Parent.Children#44], was: [<unreferenced>]
4223 [3340] DEBUG NHibernate.Impl.SessionImpl (null) - Processing unreferenced collections
4223 [3340] DEBUG NHibernate.Impl.SessionImpl (null) - scheduling collection removes/(re)creates/updates
4223 [3340] DEBUG NHibernate.Impl.SessionImpl (null) - Flushed: 0 insertions, 0 updates, 0 deletions to 1 objects
4223 [3340] DEBUG NHibernate.Impl.SessionImpl (null) - Flushed: 1 (re)creations, 0 updates, 0 removals to 1 collections
4223 [3340] DEBUG NHibernate.Impl.Printer (null) - listing entities:
4223 [3340] DEBUG NHibernate.Impl.Printer (null) - NHRepro.Parent{ParentID=44, Children=[Child#-1]}
4223 [3340] DEBUG NHibernate.Impl.SessionImpl (null) - executing flush
4223 [3340] DEBUG NHibernate.Collection.ICollectionPersister (null) - Inserting collection: [NHRepro.Parent.Children#44]
4223 [3340] DEBUG NHibernate.Impl.BatcherImpl (null) - Opened new IDbCommand, open IDbCommands :1
4223 [3340] DEBUG NHibernate.Impl.BatcherImpl (null) - Building an IDbCommand object for the SqlString: UPDATE [Child] SET parent_id = :parent_id WHERE child_id = :child_id
4223 [3340] DEBUG NHibernate.Type.Int32Type (null) - binding '44' to parameter: 0
4223 [3340] DEBUG NHibernate.Engine.Cascades (null) - unsaved-value: -1
4239 [3340] DEBUG NHibernate.Impl.BatcherImpl (null) - Closed IDbCommand, open IDbCommands :0
4239 [3340] ERROR NHibernate.Impl.SessionImpl (null) - could not synchronize database state with session
NHibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: NHRepro.Child
at NHibernate.Impl.SessionImpl.ThrowTransientObjectException(Object obj)
at NHibernate.Impl.SessionImpl.GetEntityIdentifierIfNotUnsaved(Object obj)
at NHibernate.Type.EntityType.GetIdentifier(Object value, ISessionImplementor session)
at NHibernate.Type.ManyToOneType.NullSafeSet(IDbCommand cmd, Object value, Int32 index, ISessionImplementor session)
at NHibernate.Collection.AbstractCollectionPersister.WriteElement(IDbCommand st, Object elt, Boolean writeOrder, ISessionImplementor session)
at NHibernate.Collection.Bag.WriteTo(IDbCommand st, ICollectionPersister persister, Object entry, Int32 i, Boolean writeOrder)
at NHibernate.Collection.AbstractCollectionPersister.Recreate(PersistentCollection collection, Object id, ISessionImplementor session)
at NHibernate.Impl.ScheduledCollectionRecreate.Execute()
at NHibernate.Impl.SessionImpl.Execute(IExecutable executable)
at NHibernate.Impl.SessionImpl.ExecuteAll(IList list)
at NHibernate.Impl.SessionImpl.Execute()


Top
 Profile  
 
 Post subject:
PostPosted: Mon Mar 06, 2006 2:54 pm 
Beginner
Beginner

Joined: Tue Dec 21, 2004 5:34 pm
Posts: 25
I believe on a bidirectional mapping like this you still need to set both sides of the association, the parent and the child.

Code:

Parent p = new Parent();
session.Save(p);
Child c = new Child();
p.AddChild(c);

c.AddParent(p);

session.Save(p);
session.Flush();



Top
 Profile  
 
 Post subject: Setting both references in a bi-directional mapping
PostPosted: Mon Mar 06, 2006 3:00 pm 
Newbie

Joined: Sat Feb 25, 2006 3:30 pm
Posts: 13
Parent.AddChild already does set the reference from the child back to the parent. Here is what it looks like.

Code:
public void AddChild( Child c )
{
      this.Children.Add( c );
      c.Parent = this;
}



Is this what you had in mind?

--steve


Top
 Profile  
 
 Post subject:
PostPosted: Tue Mar 07, 2006 6:17 am 
Regular
Regular

Joined: Tue Jan 03, 2006 9:52 am
Posts: 52
Location: Zurich
Hello,

Add the cascade attribute to your mapping:
<bag name="Children" table="Child" cascade="save-update">

Urs


Top
 Profile  
 
 Post subject:
PostPosted: Tue Mar 07, 2006 10:16 am 
Beginner
Beginner

Joined: Sun Feb 19, 2006 5:13 am
Posts: 22
Hi

Also consider using cascadae="all-delete-orphan" if you want the child to be automticaly removed when its removed from its parent

Magnus


Top
 Profile  
 
 Post subject: Eureka!
PostPosted: Tue Mar 07, 2006 10:43 am 
Newbie

Joined: Sat Feb 25, 2006 3:30 pm
Posts: 13
The suggestion to add the cascade property to the bag element turned the trick.

Also, I had to correctly specify the name of the reference column in the Child table as part of the Children bag definition in the Parent schema.

I used the same column name "parent_id" in both the Parent and Child tables. So, while I was troubleshooting this, I renamed the column in the Child table to myparent_id so I could better tell which column should be referenced where.

Code:
        <bag name="Children" table="Child" cascade="save-update">
           <key column="myparent_id"/>
           <one-to-many class="NHRepro.Child, NHRepro" />
       </bag>


Thank you all for your responses and suggestions.

Thanks,
Steve Brennan


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

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.