[Hibernate-JIRA] Created: (HHH-5261) Miscellaneous typos and a handful of minor content issues
by David M. Karr (JIRA)
Miscellaneous typos and a handful of minor content issues
---------------------------------------------------------
Key: HHH-5261
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5261
Project: Hibernate Core
Issue Type: Bug
Components: documentation
Affects Versions: 3.5.2
Reporter: David M. Karr
Priority: Minor
This is a collection of typos and minor content issues found in the current Hibernate doc. Technically, this represents multiple issues, but I'm not going to file one ticket for every typo I found.
Section 1.1.4, p. 7, first "Note": Change "... this do that ..." to "... this so that ...".
Section 1.2.4, p. 19, last paragraph. This paragraph has the first mention of "eager fetch" in the manual, but without any explanation. In a tutorial, it's confusing to mention technical terms without any background, and even worse when a technical term doesn't even sound like a technical term.
Section 1.3.1, p. 20, change "... need create ..." to "... need to create ...".
Section 1.3.1, p. 21, first code sample. Using "ServletException.class.isInstance(ex)" here seems odd. Why don't you use the more common "ex instanceof ServletException"? The dynamic form is only useful when the class is in a variable.
Section 1.3.1, p. 21, paragraph beginning "The pattern applied here ...". The last sentence in this paragraph seems strange here. It refers to not using "auto-commit", which is at least related to the subject of the paragraph, being "session-per-request", but it seems like it was placed in this paragraph accidentally.
Section 4.1.1, p. 52. This paragraph repeats a common misstatement I see in much of the Java literature. The statement "All persistent classes must have a default constructor" is incorrect. It should be "All persistent classes must have a no-arguments constructor". The "default constructor" is the constructor that the compiler creates in a class if no constructor is defined. The default constructor is a no-arguments constructor, but the point is that persistent classes need a no-arguments constructor, not a "default constructor".
Section 5.1.3, p. 65, definition of "batch-size". This explanation is confusing. It says "... for fetching instances of this class by identifier." Fetching instances of a class by an identifier value will only ever get one (or zero) rows.
Section 5.1.3, p. 65, definition of "rowid". Is this explanation correct? It says "... once this option has been set to rowid.". You enable the "rowid" property by setting it to "rowid"? If that's true, it would be helpful to emphasize that. Most people would read that and be confused.
Section 5.1.4.5, p. 71. Change "The generator is used ..." to "This generator is used ...".
Section 5.1.5, p. 71, paragraph beginning "The first of these new ...". Change "portability generator" to, perhaps, "identity generator". "portability generator", what a concept. :)
Section 5.1.13, p. 82, "constrained" definition. Change "... table and references ..." to "... table references ...".
Section 11.1, p. 164, change "... already in the in the session ..." to "... already in the session ...".
Section 11.1.1, p. 164. Change "... class can created ..." to "... class can be created ...".
Chapter 12, p. 173, second paragraph. The paragraph ends with "... Hibernate provides repeatable reads for lookup by identifier and entity queries and not reporting queries that return scalar values." The "not reporting" part doesn't seem to make sense. I can't tell what this was supposed to say.
Section 12.4, p. 185, change "... it never lock objects ..." to "... it never locks objects ...".
Section 15.10, p. 209. The "simple" case and the "searched" case both refer to an abbreviated code excerpt, which I would assume should not be the same. They appear to be identical, so what exactly is this saying then?
Section 15.16, p. 218, code sample after "Properties of a JavaBean can be bound to named query parameters". The query expression begins "from foo Foo as foo ...". That seems wrong. I think it should be "from Foo as foo ...".
Section 15.18, p. 219, code sample after "It can also be useful to specify this in the select clause ...". This section is about the row value constructor syntax. This example doesn't appear to demonstrate a row value constructor. It just says "select p.name from Person p".
Section 16.4, p. 224. Change "... retreive the cats with mates who's name ..." to "... retrieve the cats with mates whose name ...".
Section 16.6, p. 225. Concerning the reference to "enableLike()", it would be useful to state exactly what this does, instead of just "use like for string comparisons". Logic tells me that it would do "like '%value%'", but it would be useful to confirm that.
Section 17.1.4.1, table 17.1, change "The id of an collection" to "The id of a collection". Similarly, on the next page in the same table, change "The element of an collection" to "The element of a collection".
Section 20.1.7, p. 258, change "... fetch profile wull be ..." to "... fetch profile will be ...".
Section 20.1.7, p. 259, change "... but they plan is ..." to "... but the plan is ...".
Section 20.4.1, p. 265, change "... For this reaso, ..." to "... For this reason, ...".
Section 20.5.4, p. 268. Change "... then add thee ..." to "...then add these ...".
Section 22.2, p. 280, change "... the link (the foreign key parent_id) from p to c ..." to "... the link (the foreign key parent_id) from c to p ...".
Chapter 25, p. 305, change "... but his approach ..." to "... but this approach ...".
p. 306, in 'explicitly disable eager fetching using lazy="false"', change it to "disable lazy" or "enable eager".
Section 26.4, change "targtetting" to "targeting" and change "entitiy" to "entity". In the second "Note" change "enhancedgenerators" to "enhanced generators".
Section 26.5, p. 311. Change "Hibernate, provides ..." to "Hibernate provides ...".
--
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, 11 months
[Hibernate-JIRA] Created: (HHH-5241) One-to-many relationship to class with JOINED inheritance causes assertion failure in JoinedSubclassEntityPersister
by Stu White (JIRA)
One-to-many relationship to class with JOINED inheritance causes assertion failure in JoinedSubclassEntityPersister
-------------------------------------------------------------------------------------------------------------------
Key: HHH-5241
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5241
Project: Hibernate Core
Issue Type: Bug
Affects Versions: 3.5.0-CR-1
Environment: Hibernate 3.5.0-CR1 (included with JBoss Application Server 6.0.0 M2)
SQL Server 2005
Reporter: Stu White
Attachments: testcase.zip
I've created a JPA mapping for a class that has a one-to-many relationship via a join table to other classes which are using a JOINED inheritance strategy, and I'm getting an odd error which makes me wonder whether I've come across a bug in Hibernate.
The particular error I'm getting is:
Exception in thread "main" 2010-05-20 10:00:04,783 - an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
org.hibernate.AssertionFailure: Table JpaTest.ParentOwnerJoinTable not found
at org.hibernate.persister.entity.JoinedSubclassEntityPersister.getTableId(JoinedSubclassEntityPersister.java:497)
at org.hibernate.persister.entity.JoinedSubclassEntityPersister.<init>(JoinedSubclassEntityPersister.java:276)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:87)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:272)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:974)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:850)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:48)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32)
at com.i2group.jpatest.JpaTestBase.createEntityManager(JpaTestBase.java:51)
at com.i2group.jpatest.JpaOwnershipInheritanceTest.writeEntity(JpaOwnershipInheritanceTest.java:28)
at com.i2group.jpatest.JpaOwnershipInheritanceTest.main(JpaOwnershipInheritanceTest.java:22)
I've attached a zip containing the classes, persistence XML, and SQL Server setup script. The classes are:
Owner The owner linked by a one-to-many relationship to Parent/ChildOne/ChildTwo
Parent Parent class using a JOINED inheritance strategy
ChildOne Child of Parent
ChildTwo Child of Parent
The error only seems to occur when combining a one-to-many relationship via a join table to a class using inheritance. If I remove the link to Owner and just test the inheritance of Parent/ChildOne/ChildTwo then it works fine. If I remove the inheritance and just test the one-to-many relationship from Owner to Parent then it works fine. If I try to combine the two then I get the error above.
I don't think I'm doing anything particularly obscure, which makes me suspicious that this is more likely to be a mistake in my configuration than a bug in Hibernate. However, I've checked the configuration and tested parts of it separately and have been unable to find what (if anything) I'm doing wrong.
If there's any further information I can provide to help diagnose this then please let me know.
--
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, 12 months
[Hibernate-JIRA] Created: (HHH-2645) Synchronization bottleneck in EntityModeToTuplizerMapping
by Erik Bergersjö (JIRA)
Synchronization bottleneck in EntityModeToTuplizerMapping
---------------------------------------------------------
Key: HHH-2645
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2645
Project: Hibernate3
Issue Type: Patch
Components: core
Affects Versions: 3.2.4.sp1, 3.2.4, 3.2.3
Environment: Hibernate 3.2.3 (and later), Sun's JDK 1.4.2_12 (server VM) on SunOS 5.10, Oracle 10g R2
Reporter: Erik Bergersjö
Priority: Minor
We have had a major performance bottleneck in EntityModeToTuplizerMapping with Hibernate version 3.2.3 and the code for that class in 3.2.4sp1 is unchanged. We have found a solution that solves the issue and would like to get it into the real version. I submitted to the user forum first and was asked to create a JIRA issue.
The problematic line is:
private final Map tuplizers = Collections.synchronizedMap( new SequencedHashMap() );
We have changed it to (using util.concurrent):
private final Map tuplizers = new EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap();
This change alone makes our use cases six times faster. The difference is that ConcurrentReaderHashMap handles concurrent readers much better, they don't have to wait for each other.
The problem occurs when a high number of threads try to initialize sets (see mapping below). A thread dump showed a high number of threads waiting for the same monitor, see partial stack trace below.
The code runs on Sun's JDK 1.4.2_12 (server VM) on SunOS 5.10 and the kernel spends a lot of time handling mutexes with the original implementation. That time disappears from the radar screen with the fixed version.
Example mapping for set:
[code]
<set name="lines" lazy="true" inverse="true" cascade="all-delete-orphan">
<key>
<column name="col1" not-null="true" />
<column name="col2" not-null="true" />
</key>
<one-to-many class="LineClass" />
</set>
[/code]
Stack trace (partial):
"Thread-108" prio=5 tid=0x05852e90 nid=0x103 waiting for monitor entry [0x3ed7e000..0x3ed7fc28]
at java.util.Collections$SynchronizedMap.get(Collections.java:1942)
- waiting to lock <0x89d30788> (a java.util.Collections$SynchronizedMap)
at org.hibernate.tuple.EntityModeToTuplizerMapping.getTuplizerOrNull(EntityModeToTuplizerMapping.java:53)
at org.hibernate.tuple.EntityModeToTuplizerMapping.getTuplizer(EntityModeToTuplizerMapping.java:66)
at org.hibernate.type.ComponentType.getPropertyValues(ComponentType.java:353)
at org.hibernate.type.ComponentType.isEqual(ComponentType.java:141)
at org.hibernate.engine.CollectionKey.equals(CollectionKey.java:50)
at java.util.HashMap.eq(HashMap.java:274)
at java.util.HashMap.get(HashMap.java:323)
at org.hibernate.engine.loading.CollectionLoadContext.getLocalLoadingCollectionEntry(CollectionLoadContext.java:163)
at org.hibernate.engine.loading.CollectionLoadContext.locateLoadingCollectionEntry(CollectionLoadContext.java:150)
at org.hibernate.engine.loading.CollectionLoadContext.getLoadingCollection(CollectionLoadContext.java:92)
at org.hibernate.loader.Loader.readCollectionElement(Loader.java:1003)
at org.hibernate.loader.Loader.readCollectionElements(Loader.java:646)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:591)
at org.hibernate.loader.Loader.doQuery(Loader.java:701)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
at org.hibernate.loader.Loader.loadCollection(Loader.java:1994)
at org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:36)
at org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:565)
at org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60)
at org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1716)
at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:344)
at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:163)
--
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, 12 months
[Hibernate-JIRA] Created: (HHH-5250) On setting a String-Value for a integer entity-field in a criterion, produces a ClassCastException, see also HHH-5238
by Hannes Havel (JIRA)
On setting a String-Value for a integer entity-field in a criterion, produces a ClassCastException, see also HHH-5238
---------------------------------------------------------------------------------------------------------------------
Key: HHH-5250
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5250
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.5.1
Reporter: Hannes Havel
SEE HHH-5238
Hi Gail,
I am not agree you, that this is not a BUG.
I am not amused that you switch the issue HHH-5238 to resolved, with out any explanation of your view.
Second: your reference, that i should use the forum for help is not on the right place.
because i know, what a question is and what a bug report is.
(I have 20 year of experiance in software development).
================================================
Explanation of my view:
In this case the string consists only numbers and representing a integer number of e.g. "10" and this can be converted to a integer 10 and i am not speaking about to convert a text string to an integer.
JDBC an do this easily.
Is hibernate so restricted ?
How you can establish a generalized query interface where only strings are transported and the provided service has no knowledge about the queried entities and the datatypes of the fields.
So i think a automatic conversion of a string representing a number to the nhumber type and so on is a esential funktionality for a
data sorage and retrieve interface.
For Hibernate the only thing to be changed for the primitive datatype handling is explaind in the following code snipplet:
IntegerType.set(PreparedStatement st, Object value, int index)
throws SQLException {
if (value instanceof String)
st.setInt( index, Integer.parseInt((String)value));
else
st.setInt( index, ( (Integer) value ).intValue() );
}
--
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, 12 months
[Hibernate-JIRA] Created: (HHH-5249) Component.java MappingException needs more detail
by Travis Stevens (JIRA)
Component.java MappingException needs more detail
-------------------------------------------------
Key: HHH-5249
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5249
Project: Hibernate Core
Issue Type: Improvement
Components: core
Affects Versions: 3.5.2, 3.5.0-Final
Environment: Hibernate version: 3.5.0-Final
Reporter: Travis Stevens
Priority: Trivial
Attachments: mrxtravis-component.patch
A MappingException is thrown in the Component.java class that looks like such:
throw new MappingException("component property not found: " + propertyName);
I received this message when the property was 'id' -- and since every component has an 'id', this was not a very useful message. I'm supplying a patch that will add the componentClassName property of Component to the exception as to put the property in a useful context. The fix is :
throw new MappingException("component " + componentClassName + " property not found: " + propertyName);
See attachment for the patch to 3.5.0-Final
--
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, 12 months
[Hibernate-JIRA] Created: (HHH-5242) NamingHelper writes credential information to the log
by Yiming Du (JIRA)
NamingHelper writes credential information to the log
-----------------------------------------------------
Key: HHH-5242
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5242
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.2.6
Environment: This should be a general issue across all platform.
Reporter: Yiming Du
In certain situations, the class NamingHelper will write credential information to the log.
To be more specific, in the method getInitialContext() of the class org.hibernate.util.NamingHelper, there're following 2 lines
Hashtable hash = getJndiProperties(props);
log.info("JNDI InitialContext properties:" + hash);
This will result in the clear text of the credential information in the conditions that the credential properties are set and the log level is lower than INFO.
In our Websphere scenario, because Websphere is security enabled, we need to set the following properties
"hibernate.jndi.java.naming.security.principal"
"hibernate.jndi.java.naming.security.credentials"
in order to register the SessionFactory to the JNDI tree.
(Another thread https://forum.hibernate.org/viewtopic.php?f=1&t=931740&start=0 gives some description about this situation as well).
Although it's harmless to functionality, it undermines to some degree the overall security.
--
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, 12 months
[Hibernate-JIRA] Commented: (HHH-1134) subclass tag with discriminator in one to many mapping
by HG (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1134?page=c... ]
HG commented on HHH-1134:
-------------------------
Thanks Gail, Its infact related to HH-4953
A better work around would be somthing like :
if (clazz.isInstance(result)) { return result; }
return null;
And not cathing the ClassCastException
In my opinion, It would be best to have cache per concrete class with discriminator value, and not a cache per class hierachy. This would help having CacheKeys characterized by their class names and not root class names, hence making this discriminator concept workable on second level cache.
This would ofcourse mean a lot more work while querying caches using a Super classes. But frankly, I dont know the real impact on performance it will cost.
> subclass tag with discriminator in one to many mapping
> ------------------------------------------------------
>
> Key: HHH-1134
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1134
> Project: Hibernate Core
> Issue Type: Bug
> Components: core
> Environment: hibernate 3.0.5, Oracle
> Reporter: Dilip Ranjith
>
> Consider the following hbm.xml file
> <?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
> >
> <class
> name="DCDTO"
> table="ACCDC"
> dynamic-update="true"
> >
> <id
> name="ID"
> type="java.lang.String"
> >
> <column
> name="DCINFOID"
> />
> <generator class="sequence">
> <param name="sequence">DSEQ</param>
> <!--
> To add non XDoclet generator parameters, create a file named
> hibernate-generator-params-DebtorCreditorDTO.xml
> containing the additional parameters and place it in your merge dir.
> -->
> </generator>
> </id>
> <discriminator
> column="accountType"
> not-null="true"
> type="java.lang.String"
> force="true"
> insert="true"
> />
> <property
> name="creditMax"
> type="java.lang.Double"
> update="true"
> insert="true"
> column="creditMax"
> />
> <subclass
> name="CDTO"
> dynamic-update="true"
> dynamic-insert="true"
> discriminator-value="C"
> >
> </.subclass>
> <subclass
> name="DDTO"
> dynamic-update="true"
> dynamic-insert="true"
> discriminator-value="D"
> >
> </.subclass>
> </class>
> </hibernate-mapping>
> DCDTO is the super class while DDTO and CDTO are its child classes
> If in a mapped object say TDTO there are a set of CDTOs and a separate set of DDTOs
> when we get TDTO the where clause "where accountType='D' " is not there when the query for set of DDTOs are generated. so instead of a set of DDTOs i am getting a set of both DDTO's and CDTO's
--
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, 12 months
[Hibernate-JIRA] Created: (HHH-5240) FetchProfile should also support LAZY
by Marc Schipperheyn (JIRA)
FetchProfile should also support LAZY
-------------------------------------
Key: HHH-5240
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5240
Project: Hibernate Core
Issue Type: Improvement
Components: core
Affects Versions: 3.5.2
Reporter: Marc Schipperheyn
Currently initial support for FetchProfile.JOIN is available and SELECT and SUBSELECT are planned. I would like to make the case for including LAZY.
Basically JOIN, SELECT and SUBSELECT assume the default setting is lazy and depending on profile a different execution mode is selected.
The following example shows why you are sometimes forced to select EAGER and would benefit from resetting to LAZY in some cases. We have an entity User with a collection Roles (e.g. Admin, Editor etc).
Some users have multiple roles.
User is stored in the session and we frequently access the roles collection so we can't make it lazy.
User is also an eager attribute for Order of which there are many, so we need pagination. However, when we select orders, the eager relation with Roles leads to an expansion of the result set. Each Order row get #roles times the number of rows. Very undesirable and not so easy to fix.
The ability to set the Fetchprofile for orders to Lazy would be a solution here.
--
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, 12 months
[Hibernate-JIRA] Created: (HHH-5238) On setting a String-Value for a integer entity-field in a criterion, produces a ClassCastException
by Hannes Havel (JIRA)
On setting a String-Value for a integer entity-field in a criterion, produces a ClassCastException
--------------------------------------------------------------------------------------------------
Key: HHH-5238
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5238
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.5.1
Reporter: Hannes Havel
12:06:40,864 INFO http-8080-2 IntegerType:158 - could not bind value '10' to parameter: 1; java.lang.String cannot be cast to java.lang.Integer
12:06:40,865 DEBUG http-8080-2 ServletServiceContainer:179 - core-exception in service-execution: null
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.daotec.remoting.server.ServiceMethod.invoke(ServiceMethod.java:85)
at com.daotec.remoting.server.ServletServiceContainer.doPost(ServletServiceContainer.java:168)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at org.hibernate.type.IntegerType.set(IntegerType.java:64)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:154)
at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:136)
at org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1728)
at org.hibernate.loader.Loader.bindParameterValues(Loader.java:1699)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1589)
at org.hibernate.loader.Loader.doQuery(Loader.java:696)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.doList(Loader.java:2228)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
at org.hibernate.loader.Loader.list(Loader.java:2120)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1596)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
at com.daotec.foundation.hibernate.GenericHibernateDAO.countAll(GenericHibernateDAO.java:147)
at com.daotec.remoting.utils.CoreGenericDAOService.list(CoreGenericDAOService.java:108)
... 20 more
--
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, 12 months
[Hibernate-JIRA] Created: (HHH-5005) Column name not prefixed with table name alias
by Jeremy Hindmarsh (JIRA)
Column name not prefixed with table name alias
----------------------------------------------
Key: HHH-5005
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5005
Project: Hibernate Core
Issue Type: Bug
Components: annotations
Affects Versions: 3.5.0-CR-2
Environment: Hibernate 3.5 CR2, Oracle 10g
Reporter: Jeremy Hindmarsh
If a column name annotation contains a full stop, the column name is not prefixed with the table name alias.
Some of our database tables contain Oracle spatial data. One in particular has two columns for longitude and latitude,
GEOM.SDO_POINT.X and GEOM.SDO_POINT.Y
The problem is that the table alias is not added to the column name due to isIdentifier method in the Template class.
This method returns false because the column name contains full stops.
This means the renderWhereStringTemplate method doesn't prefix the column name with the table alias placeholder.
Fortunately for now I can use the following column definition, in order to get the table alias added.
@Column(name = "$PlaceHolder$.GEOM.SDO_POINT.X")
--
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
16 years
[Hibernate-JIRA] Commented: (HHH-1134) subclass tag with discriminator in one to many mapping
by Gail Badner (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1134?page=c... ]
Gail Badner commented on HHH-1134:
----------------------------------
Could this be related to HHH-4953?
> subclass tag with discriminator in one to many mapping
> ------------------------------------------------------
>
> Key: HHH-1134
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1134
> Project: Hibernate Core
> Issue Type: Bug
> Components: core
> Environment: hibernate 3.0.5, Oracle
> Reporter: Dilip Ranjith
>
> Consider the following hbm.xml file
> <?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
> >
> <class
> name="DCDTO"
> table="ACCDC"
> dynamic-update="true"
> >
> <id
> name="ID"
> type="java.lang.String"
> >
> <column
> name="DCINFOID"
> />
> <generator class="sequence">
> <param name="sequence">DSEQ</param>
> <!--
> To add non XDoclet generator parameters, create a file named
> hibernate-generator-params-DebtorCreditorDTO.xml
> containing the additional parameters and place it in your merge dir.
> -->
> </generator>
> </id>
> <discriminator
> column="accountType"
> not-null="true"
> type="java.lang.String"
> force="true"
> insert="true"
> />
> <property
> name="creditMax"
> type="java.lang.Double"
> update="true"
> insert="true"
> column="creditMax"
> />
> <subclass
> name="CDTO"
> dynamic-update="true"
> dynamic-insert="true"
> discriminator-value="C"
> >
> </.subclass>
> <subclass
> name="DDTO"
> dynamic-update="true"
> dynamic-insert="true"
> discriminator-value="D"
> >
> </.subclass>
> </class>
> </hibernate-mapping>
> DCDTO is the super class while DDTO and CDTO are its child classes
> If in a mapped object say TDTO there are a set of CDTOs and a separate set of DDTOs
> when we get TDTO the where clause "where accountType='D' " is not there when the query for set of DDTOs are generated. so instead of a set of DDTOs i am getting a set of both DDTO's and CDTO's
--
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
16 years
[Hibernate-JIRA] Commented: (HHH-1134) subclass tag with discriminator in one to many mapping
by HG (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1134?page=c... ]
HG commented on HHH-1134:
-------------------------
Well force="true" will solve the issue, but not if you use second level cache. While fetching the entity from a cache hibernate does not care if the force is true or not, simply because of the fact that discriminator information is not present in the CacheKey used by hibernate.
What can we do to have to have the same behaviour as "force='true'" with second level cache :( ???
> subclass tag with discriminator in one to many mapping
> ------------------------------------------------------
>
> Key: HHH-1134
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1134
> Project: Hibernate Core
> Issue Type: Bug
> Components: core
> Environment: hibernate 3.0.5, Oracle
> Reporter: Dilip Ranjith
>
> Consider the following hbm.xml file
> <?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
> >
> <class
> name="DCDTO"
> table="ACCDC"
> dynamic-update="true"
> >
> <id
> name="ID"
> type="java.lang.String"
> >
> <column
> name="DCINFOID"
> />
> <generator class="sequence">
> <param name="sequence">DSEQ</param>
> <!--
> To add non XDoclet generator parameters, create a file named
> hibernate-generator-params-DebtorCreditorDTO.xml
> containing the additional parameters and place it in your merge dir.
> -->
> </generator>
> </id>
> <discriminator
> column="accountType"
> not-null="true"
> type="java.lang.String"
> force="true"
> insert="true"
> />
> <property
> name="creditMax"
> type="java.lang.Double"
> update="true"
> insert="true"
> column="creditMax"
> />
> <subclass
> name="CDTO"
> dynamic-update="true"
> dynamic-insert="true"
> discriminator-value="C"
> >
> </.subclass>
> <subclass
> name="DDTO"
> dynamic-update="true"
> dynamic-insert="true"
> discriminator-value="D"
> >
> </.subclass>
> </class>
> </hibernate-mapping>
> DCDTO is the super class while DDTO and CDTO are its child classes
> If in a mapped object say TDTO there are a set of CDTOs and a separate set of DDTOs
> when we get TDTO the where clause "where accountType='D' " is not there when the query for set of DDTOs are generated. so instead of a set of DDTOs i am getting a set of both DDTO's and CDTO's
--
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
16 years
[Hibernate-JIRA] Created: (HV-324) Default annotation not executing when group selector activated
by Marc Schipperheyn (JIRA)
Default annotation not executing when group selector activated
--------------------------------------------------------------
Key: HV-324
URL: http://opensource.atlassian.com/projects/hibernate/browse/HV-324
Project: Hibernate Validator
Issue Type: Bug
Components: engine
Affects Versions: 4.1.0.Beta1
Reporter: Marc Schipperheyn
Assignee: Hardy Ferentschik
Attachments: RegistrationVO.java
When you call the validate function with a non-default group selector active, the default constraints do not execute. AFAIC this is unexpected behaviour. Default constraints by their very nature should always execute. Also, since it's very easy to exclude default execution by applying a non-default group selector.
If this is in fact a design decision then the documentation should make very, *very* clear (e.g. through one of those "Notes": Default constraints do NOT execute when a group selector is active! If you want the default to be executed, also add Default.class to the set of group selectors you specify) that default constraints do not execute when a group constraint is active. It doesn't at the moment and I was caught by surprise.
--
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
16 years
[Hibernate-JIRA] Created: (HHH-5232) Use intern() to reuse strings and reduce memory usage / save 6%
by Yves Galante (JIRA)
Use intern() to reuse strings and reduce memory usage / save 6%
----------------------------------------------------------------
Key: HHH-5232
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5232
Project: Hibernate Core
Issue Type: Patch
Components: core
Affects Versions: 3.6
Environment: Hibernate 3.6.0-SNAPSHOT
Linux x86_64 Bits
Reporter: Yves Galante
Priority: Minor
Attachments: DuplicateString.patch
This patch is an update of JIRRA HHH-3924 for Hibernate 3.6.
Testsuite executed without new failures.
Resume of the original JIRRA HHH-3924 :
>>DefaultEntityAliases suffix and rowIdAliases String fields are not interned as are other fields in the class. This leads to significant >>of memory usage on our application.
>>BasicLoader suffixes and QueryLoader sqlAliasSuffixes can also be interned so as to save more memory
See the detailed result of this patch :
========================================
Test conditions
========================================
Hibernate version : 3.6.0-SNAPSHOT
Yourkit : 8.0
OS : Linux x86_64 Bits.
Test case : org.hibernate.test.legacy.ParentChildTest.testReplicate()
Time : Memory snapshot is taken at the of the test.
========================================
Result before patch
========================================
SessionFactoryImpl size : 3939 KB
Duplicates String example :
"0_" : 452 duplicates (32KB)
"rowid_0_" : 405 duplicates (32KB)
"1_" : 145 duplicates (10KB)
"rowid_1_" : 130 duplicates (10KB)
...
"fee3_" : 65 duplicates (5KB)
"glarch1_" : 55 duplicates (5KB)
...
"foo2_2_5" : 46 duplicates (3KB)
...
"string" : 28 duplicates (2KB)
========================================
Result after patch
========================================
SessionFactoryImpl size : 3688 KB
Save 251 Kb, 6% of the session factory size.
--
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
16 years
[Hibernate-JIRA] Created: (HHH-5227) Stored Procedure invocation gets 'top 2' embedded by SQLServerDialect
by Eduard Martinescu (JIRA)
Stored Procedure invocation gets 'top 2' embedded by SQLServerDialect
---------------------------------------------------------------------
Key: HHH-5227
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5227
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.3.2, 3.3.1
Environment: Hibernate 3.3.2/3.3.1 connection to a SQL Server database
Reporter: Eduard Martinescu
I have an entity class, annotated with Named Native Queries that invoke stored procedures
{code}
@Entity
@NamedNativeQuery(name = "NetworkServiceElementAlarm_GetById",
resultClass=Alarm.class,
query = "{call Grock.dbo.NetworkServiceElementAlarm_GetById(:alarmId)}",
hints = {@QueryHint(name="org.hibernate.callable",value="true"),
@QueryHint(name="org.hibernate.readOnly",value="true")}),
public class Alarm
implements java.io.Serializable
{
{code}
I then later invoke that named query to retrieve a value from the database
{code}
return (Alarm)
emGrock.createNamedQuery("NetworkServiceElementAlarm_GetById")
.setParameter("alarmId", alarmId)
.getSingleResult();
{code}
However, this query fails with an error returned from the JDBC driver layer, indicating "{" is invalid. Upon further investigation, it turned out that the SQLServerDialect class is injecting "top 2" into the middle of the call, resulting in the following SQL {code} "{call Grock.dbotop 2.NetworkServiceElementAlarm_GetByID(?)}" {code}
The problem is in the function 'getLimitString()' within the SQLServerDialect class. It blindly assumes that the incoming SQL has either "select" or "select distinct", and inserts "top " + the current limit count into the SQL string.
I've worked around the problem temporarily by creating my own subclass of SQLServerDialect that overrides that method and looks for the presence of "{call", and if it finds it, returns the SQL string back unmodified (thereby not imposing a limit). I'm sure there is probably something better that can be done....
{code}
public class SQLServerDialect
extends org.hibernate.dialect.SQLServerDialect
{
@Override
public String getLimitString (String querySelect, int offset, int limit)
{
if (querySelect.indexOf("{call") >= 0)
return querySelect;
else
return super.getLimitString(querySelect, offset, limit);
}
}
{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
16 years
[Hibernate-JIRA] Commented: (HHH-16) Explicit joins on unrelated classes
by Douglas Ferguson (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-16?page=com... ]
Douglas Ferguson commented on HHH-16:
-------------------------------------
Without a major refactor, I am stuck using the Criteria API. Can someone suggest a workaround or point me in the right direct as far as how to patch hibernate. I.E. Where does hibernate actually generate the html?
I can't really think of another way of doing this in SQL, or is there a way to include HQL or SQL inside of Criteria? I've seen the sql projection, but this wouldn't work for creating the join...
> Explicit joins on unrelated classes
> -----------------------------------
>
> Key: HHH-16
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-16
> Project: Hibernate Core
> Issue Type: New Feature
> Components: core
> Affects Versions: antlr-rework
> Environment: Any
> Reporter: David Lloyd
> Assignee: Steve Ebersole
> Fix For: antlr-rework
>
>
> It would be nice to be able to do explicit joins on unrelated classes with HQL:
> (hope this renders correctly)
> select empl, phone
> from org.example.Employee empl
> left outer join org.example.PhoneBook phone
> on phone.lastName = empl.lastName
> and phone.firstName = empl.firstName
> where empl.salaryGrade > 10
> Note that this would also implicity solve HB-1089 because you could list join criteria that match what Hibernate would have chosen anyway (i.e., list a many-to-one relationship as a criteria explicitly).
> Syntactically this could be disambiguated from the existing join syntax because the token after "join" is a class name rather than a property name.
--
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
16 years
[Hibernate-JIRA] Created: (HV-321) javax.persistence.PersistenceException when trying to validate an object graphs with a class-level constraint annotation. In addition to the error report HV-266
by Johnny (JIRA)
javax.persistence.PersistenceException when trying to validate an object graphs with a class-level constraint annotation. In addition to the error report HV-266
----------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: HV-321
URL: http://opensource.atlassian.com/projects/hibernate/browse/HV-321
Project: Hibernate Validator
Issue Type: Bug
Affects Versions: 4.1.0.Beta1
Environment: Hibernate 3.5.1-final, PostgreSQL, spring 3.0.2-release, hibernate-jpa-2.0-api-1.0.0.Final, validation-api-1.0.0.GA
Reporter: Johnny
Assignee: Hardy Ferentschik
I use a class-level constraint annotation and object graphs. When I use the construction that you can see below I get the following error: "javax.persistence.PersistenceException: Unable to find field or method: class travel.just.flows.rzd.RzdPassengerInfo#passengersInfo":
@MyCustomConstraint
public class RzdTicket implements Serializable {
@NotEmpty
private String number;
@Valid
private RzdPassengerInfo rzdPassengersInfo;
... setters and getters
}
@MyCustomConstraint
public class RzdPassengerInfo implements Serializable {
@NotEmpty
private String name;
... setters and getters
}
@Documented
@Constraint(validatedBy = MyCustomConstraintValidator.class)
@Target({ ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface MyCustomConstraint {
public abstract String message() default "";
public abstract Class<?>[] groups() default {};
java.lang.Class<? extends javax.validation.Payload>[] payload() default {};
}
public class MyCustomConstraintValidator implements ConstraintValidator<MyCustomConstraint, Object> {
public void initialize(Expression expression) {
}
public boolean isValid(Object target, ConstraintValidatorContext constraintValidatorContext) {
return true;
}
}
Please see below the stack trace of the error I get:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing [AnnotatedAction@26b38c81 targetAction = [RzdFormAction@15223b12 formObjectName = 'rzdTicket', formObjectClass = RzdTicket, formObjectScope = Flow], attributes = map['method' -> 'bindAndValidate']] in state 'rzdStep4PlacesPassengerInfo' of flow 'rzd' -- action execution attributes were 'map['validatorMethod' -> 'validateStep4']'
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
travel.just.spring.security.ui.webapp.AuthenticationIpFilter.doFilterInternal(AuthenticationIpFilter.java:28)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
root cause
org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing [AnnotatedAction@26b38c81 targetAction = [RzdFormAction@15223b12 formObjectName = 'rzdTicket', formObjectClass = RzdTicket, formObjectScope = Flow], attributes = map['method' -> 'bindAndValidate']] in state 'rzdStep4PlacesPassengerInfo' of flow 'rzd' -- action execution attributes were 'map['validatorMethod' -> 'validateStep4']'
org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:60)
org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:79)
org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145)
org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
org.springframework.webflow.engine.support.ActionTransitionCriteria.test(ActionTransitionCriteria.java:82)
org.springframework.webflow.engine.support.TransitionCriteriaChain.test(TransitionCriteriaChain.java:71)
org.springframework.webflow.engine.Transition.canExecute(Transition.java:195)
org.springframework.webflow.engine.Transition.execute(Transition.java:211)
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:391)
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:119)
org.springframework.webflow.engine.Flow.handleEvent(Flow.java:555)
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:386)
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:230)
org.springframework.webflow.engine.ViewState.resume(ViewState.java:196)
org.springframework.webflow.engine.Flow.resume(Flow.java:545)
org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:259)
org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:163)
org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183)
org.springframework.webflow.mvc.servlet.FlowController.handleRequest(FlowController.java:174)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
travel.just.spring.security.ui.webapp.AuthenticationIpFilter.doFilterInternal(AuthenticationIpFilter.java:28)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
root cause
javax.validation.ValidationException: Call to TraversableResolver.isReachable() threw an exception
org.hibernate.validator.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:773)
org.hibernate.validator.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:331)
org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForNonDefaultGroup(ValidatorImpl.java:312)
org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:248)
org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:213)
org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraint(ValidatorImpl.java:466)
org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:372)
org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:219)
org.hibernate.validator.engine.ValidatorImpl.validate(ValidatorImpl.java:119)
travel.just.spring.validation.BeanValidator.validate(BeanValidator.java:30)
travel.just.flows.rzd.RzdFormValidator.validateStep4(RzdFormValidator.java:49)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.webflow.action.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:98)
org.springframework.webflow.action.FormAction.invokeValidatorMethod(FormAction.java:719)
org.springframework.webflow.action.FormAction.doValidate(FormAction.java:834)
org.springframework.webflow.action.FormAction.bindAndValidate(FormAction.java:491)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.webflow.action.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:98)
org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:123)
org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145)
org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:79)
org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145)
org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
org.springframework.webflow.engine.support.ActionTransitionCriteria.test(ActionTransitionCriteria.java:82)
org.springframework.webflow.engine.support.TransitionCriteriaChain.test(TransitionCriteriaChain.java:71)
org.springframework.webflow.engine.Transition.canExecute(Transition.java:195)
org.springframework.webflow.engine.Transition.execute(Transition.java:211)
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:391)
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:119)
org.springframework.webflow.engine.Flow.handleEvent(Flow.java:555)
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:386)
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:230)
org.springframework.webflow.engine.ViewState.resume(ViewState.java:196)
org.springframework.webflow.engine.Flow.resume(Flow.java:545)
org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:259)
org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:163)
org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183)
org.springframework.webflow.mvc.servlet.FlowController.handleRequest(FlowController.java:174)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
travel.just.spring.security.ui.webapp.AuthenticationIpFilter.doFilterInternal(AuthenticationIpFilter.java:28)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
root cause
javax.persistence.PersistenceException: Unable to find field or method: class travel.just.flows.rzd.RzdPassengerInfo#passengersInfo
org.hibernate.ejb.util.PersistenceUtilHelper.get(PersistenceUtilHelper.java:95)
org.hibernate.ejb.util.PersistenceUtilHelper.isLoadedWithReference(PersistenceUtilHelper.java:76)
org.hibernate.ejb.HibernatePersistence$1.isLoadedWithReference(HibernatePersistence.java:92)
javax.persistence.Persistence$1.isLoaded(Persistence.java:83)
org.hibernate.validator.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:33)
org.hibernate.validator.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:112)
org.hibernate.validator.engine.resolver.SingleThreadCachedTraversableResolver.isReachable(SingleThreadCachedTraversableResolver.java:47)
org.hibernate.validator.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:764)
org.hibernate.validator.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:331)
org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForNonDefaultGroup(ValidatorImpl.java:312)
org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:248)
org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:213)
org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraint(ValidatorImpl.java:466)
org.hibernate.validator.engine.ValidatorImpl.validateCascadedConstraints(ValidatorImpl.java:372)
org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:219)
org.hibernate.validator.engine.ValidatorImpl.validate(ValidatorImpl.java:119)
travel.just.spring.validation.BeanValidator.validate(BeanValidator.java:30)
travel.just.flows.rzd.RzdFormValidator.validateStep4(RzdFormValidator.java:49)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.webflow.action.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:98)
org.springframework.webflow.action.FormAction.invokeValidatorMethod(FormAction.java:719)
org.springframework.webflow.action.FormAction.doValidate(FormAction.java:834)
org.springframework.webflow.action.FormAction.bindAndValidate(FormAction.java:491)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.webflow.action.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:98)
org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:123)
org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145)
org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:79)
org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188)
org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145)
org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51)
org.springframework.webflow.engine.support.ActionTransitionCriteria.test(ActionTransitionCriteria.java:82)
org.springframework.webflow.engine.support.TransitionCriteriaChain.test(TransitionCriteriaChain.java:71)
org.springframework.webflow.engine.Transition.canExecute(Transition.java:195)
org.springframework.webflow.engine.Transition.execute(Transition.java:211)
org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:391)
org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214)
org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:119)
org.springframework.webflow.engine.Flow.handleEvent(Flow.java:555)
org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:386)
org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210)
org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:230)
org.springframework.webflow.engine.ViewState.resume(ViewState.java:196)
org.springframework.webflow.engine.Flow.resume(Flow.java:545)
org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:259)
org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:163)
org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183)
org.springframework.webflow.mvc.servlet.FlowController.handleRequest(FlowController.java:174)
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
travel.just.spring.security.ui.webapp.AuthenticationIpFilter.doFilterInternal(AuthenticationIpFilter.java:28)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
--
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
16 years
[Hibernate-JIRA] Created: (HHH-5221) Support orphanRemoval on @OneToOne in @Embedded
by Anders Wallgren (JIRA)
Support orphanRemoval on @OneToOne in @Embedded
-----------------------------------------------
Key: HHH-5221
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5221
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.5.1, 3.5.0-Final
Reporter: Anders Wallgren
Comment from {{Cascade.cascadeProperty}}:
{code}
// association defined on component
// todo : this is currently unsupported because of the fact that
// we do not know the loaded state of this value properly
// and doing so would be very difficult given how components and
// entities are loaded (and how 'loaded state' is put into the
// EntityEntry). Solutions here are to either:
// 1) properly account for components as a 2-phase load construct
// 2) just assume the association was just now orphaned and
// issue the orphan delete. This would require a special
// set of SQL statements though since we do not know the
// orphaned value, something a delete with a subquery to
// match the owner.
{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
16 years
[Hibernate-JIRA] Commented: (HHH-1480) JOIN precendence rules per SQL-99
by Mark Derricutt (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1480?page=c... ]
Mark Derricutt commented on HHH-1480:
-------------------------------------
Under PostgreSQL this change causes many problems for us. We were tracking the milestone releases and found that between M1 and M2+ a lot of queries blowing out the server and running for 14+ days before they were noticed.
Has anyone on the Hibernate team seem this under PostgreSQL ( 8.3/8.4 ) - we're using the org.hibernate.dialect.PostgreSQLDialect dialect.
> JOIN precendence rules per SQL-99
> ---------------------------------
>
> Key: HHH-1480
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1480
> Project: Hibernate Core
> Issue Type: New Feature
> Components: query-hql
> Affects Versions: 3.1.2
> Reporter: trebor iksrazal
> Assignee: Steve Ebersole
> Fix For: 3.5.0-Beta-2
>
>
> In SQL-92 joins performed in the where clause (comma operator in from clause) and joins performed in the from clause (join keyword) had the same precedence. SQL-99 clarified this such that the from clause joins had higher precedence.
> Hibernate currently treats these as having the same precedence.
> A good explanation comes from the MySQL docs ( http://dev.mysql.com/doc/refman/5.0/en/join.html ) :
> #
> Previously, the comma operator (,) and JOIN both had the same precedence, so the join expression t1, t2 JOIN t3 was interpreted as ((t1, t2) JOIN t3). Now JOIN has higher precedence, so the expression is interpreted as (t1, (t2 JOIN t3)). This change affects statements that use an ON clause, because that clause can refer only to columns in the operands of the join, and the change in precedence changes interpretation of what those operands are.
> Example:
> CREATE TABLE t1 (i1 INT, j1 INT);
> CREATE TABLE t2 (i2 INT, j2 INT);
> CREATE TABLE t3 (i3 INT, j3 INT);
> INSERT INTO t1 VALUES(1,1);
> INSERT INTO t2 VALUES(1,1);
> INSERT INTO t3 VALUES(1,1);
> SELECT * FROM t1, t2 JOIN t3 ON (t1.i1 = t3.i3);
> Previously, the SELECT was legal due to the implicit grouping of t1,t2 as (t1,t2). Now the JOIN takes precedence, so the operands for the ON clause are t2 and t3. Because t1.i1 is not a column in either of the operands, the result is an Unknown column 't1.i1' in 'on clause' error. To allow the join to be processed, group the first two tables explicitly with parentheses so that the operands for the ON clause are (t1,t2) and t3:
> SELECT * FROM (t1, t2) JOIN t3 ON (t1.i1 = t3.i3);
> Alternatively, avoid the use of the comma operator and use JOIN instead:
> SELECT * FROM t1 JOIN t2 JOIN t3 ON (t1.i1 = t3.i3);
> This change also applies to statements that mix the comma operator with INNER JOIN, CROSS JOIN, LEFT JOIN, and RIGHT JOIN, all of which now have higher precedence than the comma operator.
--
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
16 years
[Hibernate-JIRA] Created: (ANN-846) Infinite loop occurs while doing findById on a Parent domain Object having OneToMany relationship with child domain with composite primary key
by RAMESH BABU NL (JIRA)
Infinite loop occurs while doing findById on a Parent domain Object having OneToMany relationship with child domain with composite primary key
----------------------------------------------------------------------------------------------------------------------------------------------
Key: ANN-846
URL: http://opensource.atlassian.com/projects/hibernate/browse/ANN-846
Project: Hibernate Annotations
Issue Type: Improvement
Affects Versions: 3.4.0.GA
Environment: Hibernate Annotations 3.4.0.GA, HSqlDB and Oracle
Reporter: RAMESH BABU NL
Attachments: Organization.java, OrganizationApplications.java, OrganizationApplicationsPK.java
We are using Hibernate annotations version 3.4.0.G.A
We are establishing a OneToMany relationship using the annotation @OnetoMany for a Parent and Child domain objects
where the child domain has a composite primary key.
We have two domain objects
Organization [Parent]
OrganizationApplications [Child]
We want to have a OnetoMany relationship between Organization and OrganizationApplications.
As shown below OrganizationApplications contains a composite primary key, of two columns(Organization Id, ApplicationId[foreignkey from other table called APPLICATIONS])
Organizations.java
-------------------
@OneToMany(targetEntity=gov.osc.enrollment.backend.domain.OrganizationApplications.class, cascade=CascadeType.ALL, fetch = FetchType.EAGER,
mappedBy="id.organization")
private Set<OrganizationApplications> organizationApps = new HashSet<OrganizationApplications>();
OrganizationApplications.java
---------------------------------------------------------------------
public class OrganizationApplications extends EnvelopeInfo implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
private OrganizationApplicationsPK id;
public OrganizationApplicationsPK getId() {
return id;
}
public void setId(OrganizationApplicationsPK id) {
this.id = id;
}
OrganizationApplicationsPK.java
---------------------------------------------------------------------
@Embeddable
public class OrganizationApplicationsPK implements Serializable {
private static final Long serialVersionUID = 1L;
public OrganizationApplicationsPK() {
super();
}
@ManyToOne
@JoinColumn(name="APPLICATION_ID",nullable=false)
private Applications application;
@ManyToOne(targetEntity=gov.osc.enrollment.backend.domain.Organization.class, cascade=CascadeType.ALL)
@JoinColumn(name="ORGANIZATION_ID", referencedColumnName="ORGANIZATION_ID", nullable=false, insertable=true, updatable=true)
private Organization organization;
public Applications getApplication() {
return application;
}
public void setApplication(Applications application) {
this.application = application;
}
public Organization getOrganization() {
return organization;
}
public void setOrganization(Organization organization) {
this.organization = organization;
}
@Override
public boolean equals(Object o) {
if (o == this) {
return true;
}
if ( ! (o instanceof OrganizationApplicationsPK)) {
return false;
}
OrganizationApplicationsPK other = (OrganizationApplicationsPK) o;
return (this.getOrganization().getId() == other.getOrganization().getId())
&& (this.getApplication().getId() == other.getApplication().getId());
}
@Override
public int hashCode() {
final int prime = 31;
int hash = 17;
hash = hash * prime + ((int) (this.getOrganization().getId() ^ (this.getOrganization().getId() >>> 32)));
hash = hash * prime + ((int) (this.getApplication().getId() ^ (this.getApplication().getId() >>> 32)));
return hash;
}
}
Please see the attached java files for complete code and also the exception stack trace.
Questions:
1. When we do a findById query on Organization table the system goes into infinite loop and never gets out .
How ever we are able to insert a record in Organization and its child OrganizationApplications.
2. In the Organization.java domain, if you notice we are using mappedby="id.organization". Is this a valid mapping ?
If not why does this parameter work for insert and not for a entityManager.findById, doing so leads to infinite loop.
--
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
16 years
[Hibernate-JIRA] Updated: (HHH-1907) offload metadata information from ComponentType to SessionFactory
by Steve Ebersole (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1907?page=c... ]
Steve Ebersole updated HHH-1907:
--------------------------------
Description:
Specifically, we need to move all the code directly dealing with property-access, instantiation, etc out of here. So where do we move it? Well, EntityType for example moves this stuff off to the persisters; the type then just looks up the persister when needed. Not sure we actually need a persister per-se for handling components; perhaps just ComponentMetamodel is enough...
Why is this important? Well the way ComponentType is currently structured leads to the need for certain configuration properties to be classloader scoped (static on Environment) instead of SessionFactory scoped. This is painful for two in particular: 1) whether to use reflection optimization and 2) bytecode provider.
Also, this change should allow us to cleanup how property accessors are built
Long term it would facilitate the ability to have hierarchies of components as well as loading components in a 2-phase-load paradigm like entities and collections.
was:
Specifically, we need to move all the code directly dealing with property-access, instantiation, etc out of here. So where do we move it? Well, EntityType for example moves this stuff off to the persisters; the type then just looks up the persister when needed. Not sure we actually need a persister per-se for handling components; perhaps just ComponentMetamodel is enough...
Why is this important? Well the way ComponentType is currently structured leads to the need for certain configuration properties to be classloader scoped (static on Environment) instead of SessionFactory scoped. This is painful for two in particular: 1) whether to use reflection optimization and 2) bytecode provider.
Also, this change should allow us to cleanup how property accessors are built
> offload metadata information from ComponentType to SessionFactory
> -----------------------------------------------------------------
>
> Key: HHH-1907
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1907
> Project: Hibernate Core
> Issue Type: Improvement
> Components: core
> Reporter: Steve Ebersole
> Assignee: Steve Ebersole
> Fix For: cfg-rework
>
>
> Specifically, we need to move all the code directly dealing with property-access, instantiation, etc out of here. So where do we move it? Well, EntityType for example moves this stuff off to the persisters; the type then just looks up the persister when needed. Not sure we actually need a persister per-se for handling components; perhaps just ComponentMetamodel is enough...
> Why is this important? Well the way ComponentType is currently structured leads to the need for certain configuration properties to be classloader scoped (static on Environment) instead of SessionFactory scoped. This is painful for two in particular: 1) whether to use reflection optimization and 2) bytecode provider.
> Also, this change should allow us to cleanup how property accessors are built
> Long term it would facilitate the ability to have hierarchies of components as well as loading components in a 2-phase-load paradigm like entities and collections.
--
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
16 years
[Hibernate-JIRA] Created: (HHH-5135) Prefix is missed in HQL query for property mapped to column 'TO_DATE' on Oracle 10g
by Vladimir Ivanov (JIRA)
Prefix is missed in HQL query for property mapped to column 'TO_DATE' on Oracle 10g
-----------------------------------------------------------------------------------
Key: HHH-5135
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5135
Project: Hibernate Core
Issue Type: Bug
Components: core
Affects Versions: 3.5.1, 3.5.0-Final
Environment: Hibernate 3.5.1, Oracle 10.2.0.1.0
Reporter: Vladimir Ivanov
Attachments: test_case.zip
I have entity 'Period' with property 'toDate' mapped to database column with name 'TO_DATE' (Our database is Oracle 10g). When this entity is queried via HQL, prefix for this entity is missed. Following SQL query is produced:
Hibernate:
/*
from
Period p */ select
*
from
( select
period0_.ID as ID44_,
period0_.TXN_VER as TXN3_44_,
period0_.FROM_DATE as FROM4_44_,
TO_DATE as TO5_44_,
period0_.POSITION_MONTH as POSITION7_44_,
period0_.IS_CLOSE as IS12_44_,
period0_.IS_OPEN as IS13_44_,
period0_.DISC_TYPE as DISC2_44_
from
SOME_SCHEMA.T_PERIOD period0_ )
where
rownum <= ?
This leads to database error in case of more advanced query (with joins etc). For example, we have following error in production: java.sql.SQLException: ORA-00918: column ambiguously defined
Probably the reason of this behaviour is that Hibernate tries to interpret 'TO_DATE' as the name of SQL function.
In Hibernate 3.3.2.GA prefix is added correctly.
Domain object, DAO, Test and Hibernate configuration are in the attachment.
I used Spring framework to configure 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
16 years
[Hibernate-JIRA] Created: (HHH-5063) Projections that have aliases same as the property name result in invalid sql
by Shawn Clowater (JIRA)
Projections that have aliases same as the property name result in invalid sql
-----------------------------------------------------------------------------
Key: HHH-5063
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5063
Project: Hibernate Core
Issue Type: Bug
Components: query-criteria
Affects Versions: 3.5.0-Final
Reporter: Shawn Clowater
I have a criteria query that is using an AliasToBeanTransformer that I'm using to selectively populate some of the properties. It appears that the transformer requires the alias values to match the properties of your bean so that it can call the setters via reflection.
The code snippet is similar to the following
return (List<DataProvider>) session.createCriteria(DataProvider.class)
.setProjection(Projections.projectionList()
.add(Projections.property("dataProviderId), "dataProviderId")
.add(Projections.property("uuid"), "uuid")
.add(Projections.property("name"), "name")
.add(Projections.property("dataProviderGroup"), "dataProviderGroup")
.add(Projections.property("verifiedFlg"), "verifiedFlg")
)
.setResultTransformer(new AliasToBeanResultTransformer(DataProvider.class))
.addOrder(Order.asc("name"))
.list();
And is resulting in the following SQL
select y0_ as y0_, y1_ as y1_, y2_ as y2_, y3_ as y3_, y4_ as y4_ from DATA_PROVIDER this_ order by y2_ asc
I can assure you that my column names are not y0_, etc.
This worked in 3.3.2 and I am suspecting it might be due to the change for HHH-1088. If I don't specify the alias or even change the value then it will produce a valid query it just won't populate by bean correctly.
i.e. if I append anything to the end of the first alias (i.e. "hi") results in:
select this_.DATA_PROVIDER_ID as y0_, y1_ as y1_, y2_ as y2_, y3_ as y3_, y4_ as y4_ from DATA_PROVIDER this_ order by y2_ asc
--
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
16 years
[Hibernate-JIRA] Created: (HHH-5219) DATETIME column incorrectly validates against DATE column
by Ian Haken (JIRA)
DATETIME column incorrectly validates against DATE column
---------------------------------------------------------
Key: HHH-5219
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5219
Project: Hibernate Core
Issue Type: Bug
Affects Versions: 3.5.1
Reporter: Ian Haken
Attachments: validation-fix.patch
org.hibernate.mapping.Table.validateColumns incorrectly validates if the expected SqlType is DATETIME and the actual SqlType is DATE. This can be reproduced as follows:
Create a MySQL table with DATE type for column foo.
Create an Entity with java.util.Date member foo, annotated with @Temporal(TemporalType.TIMESTAMP).
Initiate a Hibernate session with hibernate.hbm2ddl.auto=validate.
An exception should be thrown and is not. Looking at the code in src/main/java/org/hibernate/mapping/Table.java, it is clear why this would occur; the check is:
col.getSqlType( dialect, mapping ).toLowerCase().startsWith( columnInfo.getTypeName().toLowerCase() )
I'm not sure if there was a particular reason for using startsWith rather than equals, but I've changed startsWith to equals in the suggested patch (attached).
--
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
16 years
[Hibernate-JIRA] Created: (HSEARCH-526) Mass Indexer Logs Multiple NullPointerExceptions
by j nadler (JIRA)
Mass Indexer Logs Multiple NullPointerExceptions
------------------------------------------------
Key: HSEARCH-526
URL: http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-526
Project: Hibernate Search
Issue Type: Bug
Affects Versions: 3.2.0.Final
Environment: Hibernate Core 3.5.1, Hibernate Search 3.2.0.Final
Reporter: j nadler
We just moved our 'old style' reindex code to the new MassIndexer and gave it a run. It seems to have mostly worked (the index was clearly populated with some records) but a few NPEs in the logs:
[2010-05-06 08:22:25.115,105054]ERROR[Hibernate Search: collectionsloader-4](EntityConsumerLuceneworkProducer.java:96) - error during batch indexing:
java.lang.NullPointerException
at org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer.index(EntityConsumerLuceneworkProducer.java:139)
at org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer.indexAllQueue(EntityConsumerLuceneworkProducer.java:117)
at org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer.run(EntityConsumerLuceneworkProducer.java:92)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
[2010-05-06 08:22:37.170,117109]ERROR[Hibernate Search: collectionsloader-1](EntityConsumerLuceneworkProducer.java:96) - error during batch indexing:
java.lang.NullPointerException
at org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer.index(EntityConsumerLuceneworkProducer.java:139)
at org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer.indexAllQueue(EntityConsumerLuceneworkProducer.java:117)
at org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer.run(EntityConsumerLuceneworkProducer.java:92)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
[2010-05-06 08:22:37.466,117405]ERROR[Hibernate Search: collectionsloader-2](EntityConsumerLuceneworkProducer.java:96) - error during batch indexing:
java.lang.NullPointerException
at org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer.index(EntityConsumerLuceneworkProducer.java:139)
at org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer.indexAllQueue(EntityConsumerLuceneworkProducer.java:117)
at org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer.run(EntityConsumerLuceneworkProducer.java:92)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
[2010-05-06 08:22:37.566,117505]ERROR[Hibernate Search: collectionsloader-8](EntityConsumerLuceneworkProducer.java:96) - error during batch indexing:
java.lang.NullPointerException
at org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer.index(EntityConsumerLuceneworkProducer.java:139)
at org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer.indexAllQueue(EntityConsumerLuceneworkProducer.java:117)
at org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer.run(EntityConsumerLuceneworkProducer.java:92)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
[2010-05-06 08:22:51.710,131649]WARN [http-8080-7](StatefulPersistenceContext.java:662) - Narrowing proxy to class com.attensa.core.entity.User - this operation breaks ==
[2010-05-06 08:22:51.738,131677]DEBUG[http-8080-7](BaseArticleListQuery.java:579) - getLatestDateModified: took: 0:00:00.024
--
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
16 years