-->
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.  [ 9 posts ] 
Author Message
 Post subject: Occasional exception thrown when session's cross over.
PostPosted: Mon Feb 09, 2004 2:25 pm 
Newbie

Joined: Mon Oct 27, 2003 11:00 am
Posts: 5
Hi there,

I am running hibernate 2.1 with hypersonic in jboss 3.2.3 .
I have an object which has 2 many to one relationships that occasionally gets the following exception:


10:43:10,883 WARN [JDBCExceptionReporter] SQL Error: -8, SQLState: 23000
10:43:10,883 ERROR [JDBCExceptionReporter] Integrity constraint violation: FKCE9643CFE87FB7F1 table: MM_PRICE in statement [insert into MM_ORDER (PRICE_ID, ACCOUNT_ID, amount, stopLoss, quantity, id) values (569, 274, 100, 90, 100, 569)]
10:43:10,898 ERROR [JDBCExceptionReporter] could not insert: [com.mm.data.Order#569]
java.sql.SQLException: Integrity constraint violation: FKCE9643CFE87FB7F1 table: MM_PRICE in statement [insert into MM_ORDER (PRICE_ID, ACCOUNT_ID, amount, stopLoss, quantity, id) values (569, 274, 100, 90, 100, 569)]
at org.hsqldb.Trace.getError(Unknown Source)
at org.hsqldb.Result.<init>(Unknown Source)
at org.hsqldb.jdbcConnection.executeHSQL(Unknown Source)
at org.hsqldb.jdbcConnection.execute(Unknown Source)
at org.hsqldb.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbcStatement.executeUpdate(Unknown Source)
at org.hsqldb.jdbcPreparedStatement.executeUpdate(Unknown Source)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:324)
at net.sf.hibernate.impl.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:22)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:469)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:443)
at net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInsertion.java:29)
at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2308)
at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2261)
at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2187)
at net.sf.hibernate.transaction.JTATransaction.commit(JTATransaction.java:52)
at com.mm.dataservice.PersistenceManagerBean.save(PersistenceManagerBean.java:42)
at com.mm.dataservice.PersistenceManagerBean.onMessage(PersistenceManagerBean.java:25)
at sun.reflect.GeneratedMethodAccessor59.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:460)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:62)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:267)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:128)
at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:90)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:374)
at org.jboss.ejb.Container.invoke(Container.java:700)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:824)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1114)
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:633)
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:433)
at org.jboss.mq.SpySession.run(SpySession.java:298)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
at java.lang.Thread.run(Thread.java:534)
10:43:11,195 ERROR [SessionImpl] Could not synchronize database state with session
net.sf.hibernate.JDBCException: could not insert: [com.mm.data.Order#569]
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:479)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:443)
at net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInsertion.java:29)
at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2308)
at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2261)
at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2187)
at net.sf.hibernate.transaction.JTATransaction.commit(JTATransaction.java:52)
at com.mm.dataservice.PersistenceManagerBean.save(PersistenceManagerBean.java:42)
at com.mm.dataservice.PersistenceManagerBean.onMessage(PersistenceManagerBean.java:25)
at sun.reflect.GeneratedMethodAccessor59.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:460)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:62)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:267)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:128)
at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:90)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:374)
at org.jboss.ejb.Container.invoke(Container.java:700)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:824)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1114)
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:633)
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:433)
at org.jboss.mq.SpySession.run(SpySession.java:298)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.sql.SQLException: Integrity constraint violation: FKCE9643CFE87FB7F1 table: MM_PRICE in statement [insert into MM_ORDER (PRICE_ID, ACCOUNT_ID, amount, stopLoss, quantity, id) values (569, 274, 100, 90, 100, 569)]
at org.hsqldb.Trace.getError(Unknown Source)
at org.hsqldb.Result.<init>(Unknown Source)
at org.hsqldb.jdbcConnection.executeHSQL(Unknown Source)
at org.hsqldb.jdbcConnection.execute(Unknown Source)
at org.hsqldb.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbcStatement.executeUpdate(Unknown Source)
at org.hsqldb.jdbcPreparedStatement.executeUpdate(Unknown Source)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:324)
at net.sf.hibernate.impl.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:22)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:469)
... 31 more
10:43:11,570 ERROR [STDERR] net.sf.hibernate.JDBCException: could not insert: [com.mm.data.Order#569]
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:479)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:443)
at net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInsertion.java:29)
at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2308)
at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2261)
at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2187)
at net.sf.hibernate.transaction.JTATransaction.commit(JTATransaction.java:52)
at com.mm.dataservice.PersistenceManagerBean.save(PersistenceManagerBean.java:42)
at com.mm.dataservice.PersistenceManagerBean.onMessage(PersistenceManagerBean.java:25)
at sun.reflect.GeneratedMethodAccessor59.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:460)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:62)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:267)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:128)
at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:90)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:374)
at org.jboss.ejb.Container.invoke(Container.java:700)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:824)
at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1114)
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:633)
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:433)
at org.jboss.mq.SpySession.run(SpySession.java:298)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.sql.SQLException: Integrity constraint violation: FKCE9643CFE87FB7F1 table: MM_PRICE in statement [insert into MM_ORDER (PRICE_ID, ACCOUNT_ID, amount, stopLoss, quantity, id) values (569, 274, 100, 90, 100, 569)]
at org.hsqldb.Trace.getError(Unknown Source)
at org.hsqldb.Result.<init>(Unknown Source)
at org.hsqldb.jdbcConnection.executeHSQL(Unknown Source)
at org.hsqldb.jdbcConnection.execute(Unknown Source)
at org.hsqldb.jdbcStatement.fetchResult(Unknown Source)
at org.hsqldb.jdbcStatement.executeUpdate(Unknown Source)
at org.hsqldb.jdbcPreparedStatement.executeUpdate(Unknown Source)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:324)
at net.sf.hibernate.impl.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:22)
at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:469)
... 31 more



For persistence, I have a MDB that listens on a topic, and persists things as they come. The code is as follows -

import com.mm.util.ApplicationToolbox;
import net.sf.hibernate.*;

import javax.ejb.EJBException;
import javax.ejb.MessageDrivenBean;
import javax.ejb.MessageDrivenContext;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.ObjectMessage;
import javax.naming.Context;
import javax.naming.NamingException;

public class PersistenceManagerBean implements MessageDrivenBean, MessageListener {
public MessageDrivenContext messageDrivenContext;
private SessionFactory sessionFactory = null;
private Context jndiContext;

public void onMessage(Message message) {
try {
ObjectMessage objectMessage = (ObjectMessage) message;
save(objectMessage.getObject());
} catch (JMSException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}

public Object save(Object object) throws Exception {
Object ret = null;
Session sess = null;
net.sf.hibernate.Transaction transaction = null;
try {
sess = getSession();
transaction = sess.beginTransaction();
ret = sess.save(object);
transaction.commit();
} catch (Exception exception) {
rollbackTransaction(transaction);
throw exception;
} finally {
closeSession(sess);
}
return ret;
}


public void setMessageDrivenContext(MessageDrivenContext messageDrivenContext) throws EJBException {
this.messageDrivenContext = messageDrivenContext;
}

private Session getSession() throws NamingException, HibernateException {
Session session = getSessionFactory().openSession();
session.setFlushMode(FlushMode.COMMIT);
return session;
}

private void setJndiContext() {
try {
jndiContext = ApplicationToolbox.getInstance().getInitialContext();
} catch (NamingException e) {
e.printStackTrace();
}
}

private SessionFactory getSessionFactory() throws NamingException {
if (sessionFactory == null) {
sessionFactory = (SessionFactory) jndiContext.lookup("java:/hibernate/HibernateFactory");
}
return sessionFactory;
}

private void closeSession(Session sess) {
try {
if (sess != null) {
sess.close();
}
} catch (HibernateException e) {
e.printStackTrace();
}
}

private void rollbackTransaction(net.sf.hibernate.Transaction transaction) {
try {
if (transaction != null) {
transaction.rollback();
}
} catch (HibernateException e1) {
e1.printStackTrace();
}
}

public void ejbCreate() {
setJndiContext();
}

public void ejbRemove() {
}
}



The reason the exception is thrown is because the first object (Order) tries to save itself to the database before the second object's (Price) session has finished executing.
Is there some way that I can overcome this by relaxing the foreign key constraints... Or do I need to catch the exception, and try to insert again..or have i mplemented something incorrectly?

Thanks in Advance,
Dave_Dave


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 09, 2004 2:49 pm 
Hibernate Team
Hibernate Team

Joined: Tue Sep 09, 2003 2:10 pm
Posts: 3246
Location: Passau, Germany
There is something seriously wrong with your transaction handling. Try raising the isolation level.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 09, 2004 3:30 pm 
Newbie

Joined: Mon Oct 27, 2003 11:00 am
Posts: 5
Hi there,

Thanks for the rapid reply.
Here is the jboss-service.xml that I deploy - I think that I have set it up properly to handle local transaction management. Does it look ok?

Thanks,
Dave_Dave


<?xml version="1.0" encoding="UTF-8"?>


<server>
<mbean code="net.sf.hibernate.jmx.HibernateService" name="jboss.jca:service=HibernateFactory,name=HibernateFactory">
<depends>jboss.jca:service=RARDeployer</depends>
<!-- <depends>jboss.jca:service=LocalTxCM,name=DefaultDS</depends>-->
<attribute name="MapResources">
com/mm/data/Price.hbm.xml,
com/mm/data/Account.hbm.xml,
com/mm/data/Order.hbm.xml
</attribute>
<attribute name="JndiName">java:/hibernate/HibernateFactory</attribute>
<attribute name="Datasource">java:/DefaultDS</attribute>
<attribute name="Dialect">net.sf.hibernate.dialect.HSQLDialect</attribute>
<attribute name="TransactionStrategy">net.sf.hibernate.transaction.JTATransactionFactory</attribute>
<attribute name="TransactionManagerLookupStrategy">net.sf.hibernate.transaction.JBossTransactionManagerLookup</attribute>
<attribute name="UseOuterJoin">false</attribute>
<attribute name="ShowSql">false</attribute>
<!-- <attribute name="UserTransactionName">java:/UserTransaction</attribute>-->
</mbean>
</server>


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 09, 2004 3:36 pm 
Hibernate Team
Hibernate Team

Joined: Tue Sep 09, 2003 2:10 pm
Posts: 3246
Location: Passau, Germany
How does the ...-ds.xml for your database look like?


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 09, 2004 3:41 pm 
Newbie

Joined: Mon Oct 27, 2003 11:00 am
Posts: 5
Hi,

Here is my hsqldb-ds.xml file...

thanks,
Dave_Dave

<?xml version="1.0" encoding="UTF-8"?>

<!-- The Hypersonic embedded database JCA connection factory config
$Id: hsqldb-ds.xml,v 1.1.2.11 2003/09/28 12:31:36 starksm Exp $ -->


<datasources>
<local-tx-datasource>

<!-- The jndi name of the DataSource, it is prefixed with java:/ -->
<!-- Datasources are not available outside the virtual machine -->
<jndi-name>DefaultDS</jndi-name>

<!-- for tcp connection, allowing other processes to use the hsqldb
database. This requires the org.jboss.jdbc.HypersonicDatabase mbean. -->
<connection-url>jdbc:hsqldb:hsql://localhost:1701</connection-url>

<!-- for totally in-memory db, not saved when jboss stops.
The org.jboss.jdbc.HypersonicDatabase mbean is unnecessary
<connection-url>jdbc:hsqldb:.</connection-url>
-->
<!-- for in-process db with file store, saved when jboss stops. The
org.jboss.jdbc.HypersonicDatabase is unnecessary

<connection-url>jdbc:hsqldb:${jboss.server.data.dir}/hypersonic/localDB</connection-url>-->

<!-- The driver class -->
<driver-class>org.hsqldb.jdbcDriver</driver-class>

<!-- The login and password -->
<user-name>sa</user-name>
<password></password>

<!--example of how to specify class that determines if exception means connection should be destroyed-->
<!--exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyExceptionSorter</exception-sorter-class-name-->

<!-- this will be run before a managed connection is removed from the pool for use by a client-->
<!--<check-valid-connection-sql>select * from something</check-valid-connection-sql> -->

<!-- The minimum connections in a pool/sub-pool. Pools are lazily constructed on first use -->
<min-pool-size>20</min-pool-size>

<!-- The maximum connections in a pool/sub-pool -->
<max-pool-size>40</max-pool-size>

<!-- The time before an unused connection is destroyed -->
<!-- NOTE: This is the check period. It will be destroyed somewhere between 1x and 2x this timeout after last use -->
<!-- TEMPORARY FIX! - Disable idle connection removal, HSQLDB has a problem with not reaping threads on closed connections -->
<idle-timeout-minutes>0</idle-timeout-minutes>

<!-- sql to call when connection is created
<new-connection-sql>some arbitrary sql</new-connection-sql>
-->

<!-- sql to call on an existing pooled connection when it is obtained from pool
<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>
-->

<!-- example of how to specify a class that determines a connection is valid before it is handed out from the pool
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.DummyValidConnectionChecker</valid-connection-checker-class-name>
-->

<!-- Whether to check all statements are closed when the connection is returned to the pool,
this is a debugging feature that should be turned off in production -->
<track-statements>true</track-statements>

<!-- Use the getConnection(user, pw) for logins
<application-managed-security/>
-->

<!-- Use the security domain defined in conf/login-config.xml -->
<security-domain>HsqlDbRealm</security-domain>

<!-- Use the security domain defined in conf/login-config.xml or the
getConnection(user, pw) for logins. The security domain takes precedence.
<security-domain-and-application>HsqlDbRealm</security-domain-and-application>
-->

<!-- Add this depends tag if you are using the tcp connection url -->
<depends>jboss:service=Hypersonic</depends>

</local-tx-datasource>

<!-- This mbean should be used only when using tcp connections. Uncomment
when the tcp based connection-url is used. -->

<mbean code="org.jboss.jdbc.HypersonicDatabase"
name="jboss:service=Hypersonic">
<attribute name="Port">1701</attribute>
<attribute name="Silent">true</attribute>
<attribute name="Database">default</attribute>
<attribute name="Trace">false</attribute>
<attribute name="No_system_exit">true</attribute>
</mbean>
</datasources>


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 09, 2004 4:04 pm 
Hibernate Team
Hibernate Team

Joined: Tue Sep 09, 2003 2:10 pm
Posts: 3246
Location: Passau, Germany
As I have read up, Hsqldb supports only read-uncommitted transaction isolation, so thats whay this error occurs. Consider switching to another db.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 09, 2004 4:12 pm 
Newbie

Joined: Mon Oct 27, 2003 11:00 am
Posts: 5
Hi gloeglm,

Thanks for your rapid and informative responses.
If I were to use a database which supports the correct transaction isolation, would the setup listed above be ok?

thanks again,
Dave_Dave


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 09, 2004 4:20 pm 
Hibernate Team
Hibernate Team

Joined: Tue Sep 09, 2003 2:10 pm
Posts: 3246
Location: Passau, Germany
Yes, thats pretty much the standard setup. Don't sue me if not ;)


Top
 Profile  
 
 Post subject:
PostPosted: Mon Feb 09, 2004 4:29 pm 
Newbie

Joined: Mon Oct 27, 2003 11:00 am
Posts: 5
THANKS FOR EVERYTHING!


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 9 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.