[Hibernate-JIRA] Created: (HHH-3773) NPE when generating schema containing OneToMany relations
by Tobias Hill (JIRA)
NPE when generating schema containing OneToMany relations
----------------------------------------------------------
Key: HHH-3773
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3773
Project: Hibernate Core
Issue Type: Bug
Components: envers
Reporter: Tobias Hill
I have an entity P having a one-to-many relation to an entity C.
I mark P as @Audited.
I do not mark C as @Audited.
Neither do I mark the field containing the relation from P to Cs.
When building the schema I get:
java.lang.NullPointerException
at org.hibernate.envers.configuration.metadata.CollectionMetadataGenerator.addOneToManyAttached(CollectionMetadataGenerator.java:164)
at org.hibernate.envers.configuration.metadata.CollectionMetadataGenerator.addCollection(CollectionMetadataGenerator.java:150)
at org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.addValue(AuditMetadataGenerator.java:141)
at org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.addProperties(AuditMetadataGenerator.java:161)
at org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.generateSecondPass(AuditMetadataGenerator.java:385)
If I mark C as @Audited it goes away and the schema is generated as supposed to.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 1 month
[Hibernate-JIRA] Created: (HHH-3708) Suboptimal exception on m:n relations with an unaudited entity
by Eike Hirsch (JIRA)
Suboptimal exception on m:n relations with an unaudited entity
--------------------------------------------------------------
Key: HHH-3708
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3708
Project: Hibernate Core
Issue Type: Improvement
Components: envers
Affects Versions: 3.3.1
Environment: Hibernate 3.3.1, Envers 3.4-Snapshot, Java 6, Spring 2.5
Reporter: Eike Hirsch
Priority: Minor
The following code will produce a NullPointerException on listener startup when **B** is not audited. The exception should state that there is an audited collection to an unaudited entity. (And for debugging it would be really cool to log both entity class names)
{code}
@ManyToMany( cascade= {CascadeType.ALL} )
public List<B> getBs() {
return bs;
}
{code}
As described in http://www.jboss.com/index.html?module=bb&op=viewtopic&t=148392.
{code}
2009-01-09 16:46:11.872::WARN: Nested in org.springframework.beans.factory.BeanCreationException: E
rror creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicati
onContext.xml]: Invocation of init method failed; nested exception is org.hibernate.HibernateExcepti
on: could not init listeners:
java.lang.NullPointerException
at org.hibernate.envers.configuration.metadata.CollectionMetadataGenerator.addValueToMiddleTable(Co
llectionMetadataGenerator.java:380)
at org.hibernate.envers.configuration.metadata.CollectionMetadataGenerator.addWithMiddleTable(Colle
ctionMetadataGenerator.java:303)
at org.hibernate.envers.configuration.metadata.CollectionMetadataGenerator.addCollection(Collection
MetadataGenerator.java:152)
at org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.addValue(AuditMetadataGenerat
or.java:136)
at org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.addProperties(AuditMetadataGe
nerator.java:155)
at org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.generateSecondPass(AuditMetad
ataGenerator.java:343)
at org.hibernate.envers.configuration.EntitiesConfigurator.configure(EntitiesConfigurator.java:96)
at org.hibernate.envers.configuration.AuditConfiguration.<init>(AuditConfiguration.java:86)
at org.hibernate.envers.configuration.AuditConfiguration.getFor(AuditConfiguration.java:99)
at org.hibernate.envers.event.AuditEventListener.initialize(AuditEventListener.java:232)
at org.hibernate.event.EventListeners$1.processListener(EventListeners.java:198)
at org.hibernate.event.EventListeners.processListeners(EventListeners.java:181)
at org.hibernate.event.EventListeners.initializeListeners(EventListeners.java:194)
at org.hibernate.cfg.Configuration.getInitializedEventListeners(Configuration.java:1338)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1327)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactory
Bean.java:814)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFacto
ryBean.java:732)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSession
FactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(A
bstractAutowireCapableBeanFactory.java:1369)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(Abst
ractAutowireCapableBeanFactory.java:1335)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(Abstra
ctAutowireCapableBeanFactory.java:473)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutow
ireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(Abstract
AutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.ja
va:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingl
etonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java
:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:1
85)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:1
64)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(De
faultListableBeanFactory.java:423)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(A
bstractApplicationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContex
t.java:380)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255
)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.j
ava:45)
at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:530)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:135)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1218)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:500)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:161)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:147)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:117)
at org.mortbay.jetty.Server.doStart(Server.java:220)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:40)
at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132)
at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:345)
at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:286)
at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:204)
at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:183)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:579)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycl
eExecutor.java:498)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycl
eExecutor.java:265)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor
.java:191)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:149)
at org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223)
at org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:304)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1)
at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.java:904)
at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbedder.java:304)
at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:63)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:52)
{code}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 1 month
[Hibernate-JIRA] Created: (EJB-440) Unable to configure EntityManagerFactory - No identifier specified for entity - exception in case if class has no getter
by Vitali Yemialyanchyk (JIRA)
Unable to configure EntityManagerFactory - No identifier specified for entity - exception in case if class has no getter
------------------------------------------------------------------------------------------------------------------------
Key: EJB-440
URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-440
Project: Hibernate Entity Manager
Issue Type: Improvement
Components: EntityManager
Reporter: Vitali Yemialyanchyk
Priority: Minor
Attachments: screenshot-1.jpg
I'm start to use hibernate/jpa. I get the following problem:
orm.xml:
===== BEGIN ===
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings version="1.0" xmlns="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd">
<!-- entity class="TestIdClass" access="FIELD" -->
<entity class="TestIdClass">
<attributes >
<id name="testId">
<generated-value strategy="IDENTITY"/>
</id>
</attributes>
</entity>
</entity-mappings>
===== END ===
TestIdClass.java:
===== BEGIN ===
public class TestIdClass {
public Integer testId;
//public Integer getTestId() {
//return testId;
//}
public void setTestId(Integer testId) {
this.testId = testId;
}
}
===== END ===
test function:
===== BEGIN ===
static public void testJPA() {
configuration = new Ejb3Configuration();
Map map = null;
String str = null;
// here error - without getter ->
// javax.persistence.PersistenceException: [PersistenceUnit: TestHibId] Unable to configure EntityManagerFactory
configuration = configuration.configure(str, map);
hibernateConfig = configuration.getHibernateConfiguration();
// here error - without setter ->
// org.hibernate.PropertyNotFoundException: Could not find a setter for property testId in class TestIdClass
sessionFactory = hibernateConfig.buildSessionFactory();
}
===== END ===
if getTestId - getter commented I get exception. As I think I spend too much time to find what was a reason of the problem:
access="FIELD" - resolve the problem, but this solution isn't so obvious, especially if stack trace exception says:
===
Unable to configure EntityManagerFactory
org.hibernate.AnnotationException: No identifier specified for entity: TestIdClass
===
for me it looks weird - cause I was strongly believe what I specify id here!
It will be nice I hibernate throws more information with the error or even suggestion to check access value...
I use latest versions of hibernate jars.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 1 month
[Hibernate-JIRA] Created: (HHH-3920) <list> in component gives ArrayIndexOutOfBoundsException when querying
by Elia Gaglio (JIRA)
<list> in component gives ArrayIndexOutOfBoundsException when querying
-----------------------------------------------------------------------
Key: HHH-3920
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3920
Project: Hibernate Core
Issue Type: Bug
Components: query-hql
Affects Versions: 3.3.x
Environment: Last Hibernate version, DB2 9
Reporter: Elia Gaglio
Priority: Minor
Attachments: testJava.zip
SITUATION:
I have a <class> Holder which contains a <component> class Container1 which, in turn, has a List of objects of <class> Container2.
---
CLASS DEFINITIONS:
This is Holder:
package testPZ;
import java.io.Serializable;
public class Holder implements Serializable{
private static final long serialVersionUID = 1L;
String oid;
Container1 con1;
public Holder(){
}
public Holder(String _oid){
oid = _oid;
}
public Container1 getCon1() {
return con1;
}
public void setCon1(Container1 con1) {
this.con1 = con1;
}
public String getOid() {
return oid;
}
public void setOid(String oid) {
this.oid = oid;
}
}
This is Container1:
package testPZ;
import java.io.Serializable;
import java.util.*;
public class Container1 implements Serializable{
private static final long serialVersionUID = 1L;
List listCon2 = new ArrayList();
public Container1(){
}
public List getListCon2() {
return listCon2;
}
public void setListCon2(List listCon2) {
this.listCon2 = listCon2;
}
}
And this is Container2:
package testPZ;
import java.io.Serializable;
public class Container2 implements Serializable{
private static final long serialVersionUID = 1L;
String oid;
public Container2(){
}
public Container2(String _oid){
oid = _oid;
}
public String getOid() {
return oid;
}
public void setOid(String oid) {
this.oid = oid;
}
}
---
XML FILES:
This is the hibernate.cfg.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.username">user</property>
<property name="connection.password">password</property>
<property name="connection.url">
jdbc:db2://localhost:50000/DB
</property>
<property name="connection.driver_class">
com.ibm.db2.jcc.DB2Driver
</property>
<property name="dialect">
org.hibernate.dialect.DB2Dialect
</property>
<property name="hibernate.jdbc.batch_size">
0
</property>
<property name="hibernate.cglib.use_reflection_optimizer">
false;
</property>
<property name = "show_sql">
false
</property>
<property name = "hibernate.format_sql">
false
</property>
<property name="hibernate.cache.use_second_level_cache">false</property>
</session-factory>
</hibernate-configuration>
As you can see, Holder is mapped with a <class> tag, Container1 as a <component> which in turn contains a <list> of <class> Container2. Here is the complete XML file mapping.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping auto-import="false" default-cascade="none">
<!--table="Holder"-->
<class name="testPZ.Holder" table="Holder">
<composite-id>
<key-property name="oid" type="string">
<column name="oid" sql-type="char(35)" />
</key-property>
</composite-id>
<component name="con1">
<list lazy="false" fetch="subselect" name="listCon2">
<cache usage="read-write" />
<key>
<!--column name=""/-->
<column name="fk_holder" index="i_con2"
sql-type="char(35)" />
</key>
<!--index column="si_accountHolders_accountData"/-->
<index column="si_con2" />
<one-to-many class="testPZ.Container2" />
</list>
</component>
</class>
<!--table="TAccountHolder"-->
<class name="testPZ.Container2" table="Container2">
<id name="oid" type="string">
<column name="oid" sql-type="char(35)" />
</id>
</class>
</hibernate-mapping>
---
TESTS:
First of all I create the db schema with the following code snippet:
Configuration cfg = new Configuration();
cfg.configure();
cfg.addFile("test/mapping.xml");
SchemaExport se = new SchemaExport(cfg);
se.create(false, true);
Then I save an object Holder with its child and grandchildren:
Configuration cfg = new Configuration();
cfg.configure();
cfg.addFile("test/mapping.xml");
Holder h = new Holder("1");
h.con1 = new Container1(2);
Container2 con2_1 = new Container2("2");
h.con1.listCon2.add(con2_1);
sf = cfg.buildSessionFactory();
s = sf.openSession();
Transaction t = s.beginTransaction();
s.saveOrUpdate(con2_1);
s.saveOrUpdate(h);
t.commit();
s.close();
The db is set properly, with one row for the instance of the Holder class and one row for the instance of the Container2 class, with fk properly set to point to Holder's pk.
So, I try to load back objects from table Holder with this query:
Configuration cfg = new Configuration();
cfg.configure();
cfg.addFile("test/mapping.xml");
sf = cfg.buildSessionFactory();
s = sf.openSession();
Query q = s.createQuery("select h.con1 from testPZ.Holder h");
List l = q.list();
System.out.println(((Container1) l.iterator().next()).getListCon2());
I expected it to be properly set to the object retrieved from Container2 table but the outcome is an ArrayIndexOutOfBoundsException.
STACKTRACE:
java.lang.ArrayIndexOutOfBoundsException: 0
at org.hibernate.hql.ast.util.ColumnHelper.generateScalarColumns(ColumnHelper.java:39)
at org.hibernate.hql.ast.tree.DotNode.setScalarColumnText(DotNode.java:617)
at org.hibernate.hql.ast.tree.SelectClause.renderScalarSelects(SelectClause.java:354)
at org.hibernate.hql.ast.tree.SelectClause.initializeExplicitSelectClause(SelectClause.java:228)
at org.hibernate.hql.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:705)
at org.hibernate.hql.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:529)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:645)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
at testPZ.Main.main(Main.java:40)
---
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 1 month
[Hibernate-JIRA] Created: (EJB-438) JBPAPP-1998 - RemoveTest - Exception while processing a Optimistic Locking Exception
by Juraci Paixao Krohling (JIRA)
JBPAPP-1998 - RemoveTest - Exception while processing a Optimistic Locking Exception
-------------------------------------------------------------------------------------
Key: EJB-438
URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-438
Project: Hibernate Entity Manager
Issue Type: Bug
Affects Versions: 3.4.0.GA, 3.3.2.GA, 3.3.1.GA
Environment: Entity manager v3_3_2_GA_CP / RemoveTest, hibernate.jdbc.batch_versioned_data = false
Reporter: Juraci Paixao Krohling
Assignee: Hardy Ferentschik
Fix For: 3.3.3, 3.4.1, 3.5
The test testUpdatedAndRemove on RemoveTest is failing due to a wrong exception being thrown when using hibernate.jdbc.batch_versioned_data as false (the default option).
When it is set as "false", the exception is processed on method AbstractEntityManagerImpl#wrapStaleStateException . On line 647 it tries to load the original entity, but it doesn't exists anymore, throwing a EntityNotFoundException.
The suggestion is to wrap line 647 in a try/catch, to catch EntityNotFoundException and rethrow the original exception as OptimisticLockException, as it is the only case I can think of that the identifier is present, it is in the context of a optimistic locking exception and the entity is not found in the database.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 1 month
[Hibernate-JIRA] Created: (HHH-3741) Join tables are not audited if the join is defined in an abstract
by David Lilley (JIRA)
Join tables are not audited if the join is defined in an abstract
------------------------------------------------------------------
Key: HHH-3741
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-3741
Project: Hibernate Core
Issue Type: Bug
Components: envers
Affects Versions: 3.4
Environment: JBoss 4.2.3
Seam 2.1
Hibernate 3.4
Envers 3.4
PostgreSQL 8.3
Reporter: David Lilley
Attachments: EnversTest.zip
I have an abstract with a one-to-many relationship to to another abstract. I defined a join table and an audit join table for the one-to-many relationship.
The abstract classes are extended to "Set" and "Item" classes using the joined inheritance type. (Set and Item aren't the real names of course; the names have been scrubbed to protect the innocent.)
The tables and audit tables are all created correctly. When I run my tests, the entities and relationship tables are correctly populated, and the entities' audit tables are populated. However, the audit table for the relationships are empty. (i.e., Item, Item_aud, Set, Set_aud, Set_Item all have the proper data, but Set_Item_aud doesn't have any data.)
I tested a non-abstract class that has a similar one-to-many relationship, using the same hibernate annotations, with the same type of join table and audit join table. When I run my tests, all tables are correctly populated - including the join audit table.
Attached is a complete failing test case, with a SEAM test.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 1 month