<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0">
	<id>tag:n2.nabble.com,2006:forum-210739</id>
	<title>Nabble - OpenJPA Developers</title>
	<updated>2009-11-24T10:12:58Z</updated>
	<link rel="self" type="application/atom+xml" href="http://n2.nabble.com/OpenJPA-Developers-f210739.xml" />
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/OpenJPA-Developers-f210739.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:n2.nabble.com,2006:post-4059679</id>
	<title>Re: JIRA references in documentation?</title>
	<published>2009-11-24T10:12:58Z</published>
	<updated>2009-11-24T10:12:58Z</updated>
	<author>
		<name>DWoods</name>
	</author>
	<content type="html">Well, the JIRA pointers were my idea...
&lt;br&gt;&lt;br&gt;The thought being, that if someone is concerned with a particular 
&lt;br&gt;migration issue, then they obviously are working with their application 
&lt;br&gt;source code and should have no problems looking at our SVN commits to 
&lt;br&gt;see the exact junits that demonstrate the behavioral differences between 
&lt;br&gt;1.x and 2.0.
&lt;br&gt;&lt;br&gt;The descriptions could probably use some more text, like documenting 
&lt;br&gt;that a method returns IllegalArgumentException now instead of a 
&lt;br&gt;XYZException, which would remove the need for the JIRA links, but we 
&lt;br&gt;should then create a Migration section in the release notes which point 
&lt;br&gt;to these JIRAs, like the Derby team does for their releases (which they 
&lt;br&gt;call Issues due to them being migration issues) -
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://db.apache.org/derby/releases/release-10.5.3.0.cgi#Issues&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://db.apache.org/derby/releases/release-10.5.3.0.cgi#Issues&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-Donald
&lt;br&gt;&lt;br&gt;&lt;br&gt;Kevin Sutter wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; While I was looking for some information in our documentation in trunk, I
&lt;br&gt;&amp;gt; came across several references to JIRAs. &amp;nbsp;The section on Incompatibilities
&lt;br&gt;&amp;gt; [1] really stuck out for me. &amp;nbsp;I'm not thrilled with this approach. &amp;nbsp;For a
&lt;br&gt;&amp;gt; few reasons...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; o &amp;nbsp;It forces customers to go find some other tool (JIRA) to look up
&lt;br&gt;&amp;gt; additional information. &amp;nbsp;We've found several Users and even some Dev mailing
&lt;br&gt;&amp;gt; list contributors that don't know anything about JIRA.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; o &amp;nbsp;It makes us look &amp;quot;lazy&amp;quot;. &amp;nbsp;Instead of completing the documentation, we're
&lt;br&gt;&amp;gt; telling customers to go on a scavenger hunt.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; o &amp;nbsp;Some of the references are basically worthless. &amp;nbsp;For example, in the
&lt;br&gt;&amp;gt; section on detach [2], there is a reference to OPENJPA-1215 for more
&lt;br&gt;&amp;gt; testcases that document the situation. &amp;nbsp;But, there are no patches or commits
&lt;br&gt;&amp;gt; on this JIRA, so the reference is bogus.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Now that you know my thoughts on this approach, I'd like to hear your
&lt;br&gt;&amp;gt; comments and ideas. &amp;nbsp;If agreeable, then I'd also like to solicit volunteers
&lt;br&gt;&amp;gt; to get this cleaned up.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; Kevin
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; [1]
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://openjpa.apache.org/builds/latest/docs/manual/manual.html#jpa_2.0_incompatibilities&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openjpa.apache.org/builds/latest/docs/manual/manual.html#jpa_2.0_incompatibilities&lt;/a&gt;&lt;br&gt;&amp;gt; [2]
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://openjpa.apache.org/builds/latest/docs/manual/manual.html#migration_detach_behavior&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openjpa.apache.org/builds/latest/docs/manual/manual.html#migration_detach_behavior&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/JIRA-references-in-documentation-tp4058419p4059679.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-4058419"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4058419</id>
	<title>JIRA references in documentation?</title>
	<published>2009-11-24T07:16:01Z</published>
	<updated>2009-11-24T07:16:01Z</updated>
	<author>
		<name>Kevin Sutter</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;While I was looking for some information in our documentation in trunk, I
&lt;br&gt;came across several references to JIRAs. &amp;nbsp;The section on Incompatibilities
&lt;br&gt;[1] really stuck out for me. &amp;nbsp;I'm not thrilled with this approach. &amp;nbsp;For a
&lt;br&gt;few reasons...
&lt;br&gt;&lt;br&gt;o &amp;nbsp;It forces customers to go find some other tool (JIRA) to look up
&lt;br&gt;additional information. &amp;nbsp;We've found several Users and even some Dev mailing
&lt;br&gt;list contributors that don't know anything about JIRA.
&lt;br&gt;&lt;br&gt;o &amp;nbsp;It makes us look &amp;quot;lazy&amp;quot;. &amp;nbsp;Instead of completing the documentation, we're
&lt;br&gt;telling customers to go on a scavenger hunt.
&lt;br&gt;&lt;br&gt;o &amp;nbsp;Some of the references are basically worthless. &amp;nbsp;For example, in the
&lt;br&gt;section on detach [2], there is a reference to OPENJPA-1215 for more
&lt;br&gt;testcases that document the situation. &amp;nbsp;But, there are no patches or commits
&lt;br&gt;on this JIRA, so the reference is bogus.
&lt;br&gt;&lt;br&gt;Now that you know my thoughts on this approach, I'd like to hear your
&lt;br&gt;comments and ideas. &amp;nbsp;If agreeable, then I'd also like to solicit volunteers
&lt;br&gt;to get this cleaned up.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Kevin
&lt;br&gt;&lt;br&gt;[1]
&lt;br&gt;&lt;a href=&quot;http://openjpa.apache.org/builds/latest/docs/manual/manual.html#jpa_2.0_incompatibilities&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openjpa.apache.org/builds/latest/docs/manual/manual.html#jpa_2.0_incompatibilities&lt;/a&gt;&lt;br&gt;[2]
&lt;br&gt;&lt;a href=&quot;http://openjpa.apache.org/builds/latest/docs/manual/manual.html#migration_detach_behavior&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openjpa.apache.org/builds/latest/docs/manual/manual.html#migration_detach_behavior&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/JIRA-references-in-documentation-tp4058419p4058419.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4054437</id>
	<title>[jira] Updated: (OPENJPA-1400) Unable to persist a relationship to a detached Entity</title>
	<published>2009-11-23T14:21:39Z</published>
	<updated>2009-11-23T14:21:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1400?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1400?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Rick Curtis updated OPENJPA-1400:
&lt;br&gt;---------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Attachment: decompiled_entities.zip
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OPENJPA-1400.patch
&lt;br&gt;&lt;br&gt;Attaching code changes, test case, and decompiled Entities.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Unable to persist a relationship to a detached Entity 
&lt;br&gt;&amp;gt; ------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: OPENJPA-1400
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1400&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1400&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: OpenJPA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: kernel
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 1.2.1, 2.0.0-M3
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Rick Curtis
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Rick Curtis
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Attachments: decompiled_entities.zip, OPENJPA-1400.patch
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I ran into a problem where OpenJPA is unable to persist a relationship from an attached Entity to a detached Entity. The problem occurs if the detached Entity does not have a DetachedState {openjpa.DetachState=loaded(DetachedStateField=false)} and the version is zero. When trying to flush the scenario described, the following exception is thrown by OpenJPA:
&lt;br&gt;&amp;gt; &amp;lt;openjpa-2.0.0-SNAPSHOT-r422266:882172M nonfatal user error&amp;gt; org.apache.openjpa.persistence.InvalidStateException: Encountered unmanaged object in persistent field &amp;quot;org.apache.openjpa.persistence.detachment.model.NoDetachedStateEntityFieldAccess.relationship&amp;quot; during flush. &amp;nbsp;However, this field does not allow cascade persist. Set the cascade attribute for this field to CascadeType.PERSIST or CascadeType.ALL (JPA annotations) or &amp;quot;persist&amp;quot; or &amp;quot;all&amp;quot; (JPA orm.xml), or enable cascade-persist globally, or manually persist the related field value prior to flushing. You cannot flush unmanaged objects or graphs that have persistent associations to unmanaged objects.
&lt;br&gt;&amp;gt; This scenario should work, but OpenJPA incorrectly determines that the detached Entity was never actually a part of a persistence context. If version field is anything other than zero the flush of the relationship works as expected. This problem is in the enhanced bytecode we assume that when no StateManager is present a version of zero means that an Entity isn't detached. 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; // Decompiled Entity bytecode	
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; public Boolean pcIsDetached()
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(pcStateManager != null)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(pcStateManager.isDetached())
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Boolean.TRUE;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Boolean.FALSE;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(pcGetDetachedState() != null &amp;&amp; pcGetDetachedState() != PersistenceCapable.DESERIALIZED)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Boolean.TRUE;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(_version != 0)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Boolean.TRUE;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Boolean.FALSE;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; I will attach a patch which recreates this problem and also provides a solution. My solution to this problem is to add a boolean to the enhanced bytecode to keep track of whether or not the version field has been set. This fixes the problem for most cases, but there are still holes. In addition to the patch, I'll also post two decompiled Entities. One of those is enhanced with the existing code and the other is with my proposed changes.
&lt;br&gt;&amp;gt; Notes:
&lt;br&gt;&amp;gt; - For the sake of time, I did not fix this problem when using unenhanced classes.
&lt;br&gt;&amp;gt; - This problem still exists if the detached Entity has been serialized at any point.
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1400-Unable-to-persist-a-relationship-to-a-detached-Entity-tp4054425p4054437.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-4054425"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4054425</id>
	<title>[jira] Created: (OPENJPA-1400) Unable to persist a relationship to a detached Entity</title>
	<published>2009-11-23T14:19:39Z</published>
	<updated>2009-11-23T14:19:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">Unable to persist a relationship to a detached Entity 
&lt;br&gt;------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: OPENJPA-1400
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1400&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1400&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: OpenJPA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: kernel
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.0.0-M3, 1.2.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Rick Curtis
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Rick Curtis
&lt;br&gt;&lt;br&gt;&lt;br&gt;I ran into a problem where OpenJPA is unable to persist a relationship from an attached Entity to a detached Entity. The problem occurs if the detached Entity does not have a DetachedState {openjpa.DetachState=loaded(DetachedStateField=false)} and the version is zero. When trying to flush the scenario described, the following exception is thrown by OpenJPA:
&lt;br&gt;&lt;br&gt;&amp;lt;openjpa-2.0.0-SNAPSHOT-r422266:882172M nonfatal user error&amp;gt; org.apache.openjpa.persistence.InvalidStateException: Encountered unmanaged object in persistent field &amp;quot;org.apache.openjpa.persistence.detachment.model.NoDetachedStateEntityFieldAccess.relationship&amp;quot; during flush. &amp;nbsp;However, this field does not allow cascade persist. Set the cascade attribute for this field to CascadeType.PERSIST or CascadeType.ALL (JPA annotations) or &amp;quot;persist&amp;quot; or &amp;quot;all&amp;quot; (JPA orm.xml), or enable cascade-persist globally, or manually persist the related field value prior to flushing. You cannot flush unmanaged objects or graphs that have persistent associations to unmanaged objects.
&lt;br&gt;&lt;br&gt;This scenario should work, but OpenJPA incorrectly determines that the detached Entity was never actually a part of a persistence context. If version field is anything other than zero the flush of the relationship works as expected. This problem is in the enhanced bytecode we assume that when no StateManager is present a version of zero means that an Entity isn't detached. 
&lt;br&gt;&amp;nbsp; &amp;nbsp; // Decompiled Entity bytecode	
&lt;br&gt;&amp;nbsp; &amp;nbsp; public Boolean pcIsDetached()
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(pcStateManager != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(pcStateManager.isDetached())
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Boolean.TRUE;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Boolean.FALSE;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(pcGetDetachedState() != null &amp;&amp; pcGetDetachedState() != PersistenceCapable.DESERIALIZED)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Boolean.TRUE;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(_version != 0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Boolean.TRUE;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return Boolean.FALSE;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;I will attach a patch which recreates this problem and also provides a solution. My solution to this problem is to add a boolean to the enhanced bytecode to keep track of whether or not the version field has been set. This fixes the problem for most cases, but there are still holes. In addition to the patch, I'll also post two decompiled Entities. One of those is enhanced with the existing code and the other is with my proposed changes.
&lt;br&gt;&lt;br&gt;Notes:
&lt;br&gt;- For the sake of time, I did not fix this problem when using unenhanced classes.
&lt;br&gt;- This problem still exists if the detached Entity has been serialized at any point.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1400-Unable-to-persist-a-relationship-to-a-detached-Entity-tp4054425p4054425.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4050814</id>
	<title>OpenJPA DataCache.writeLock()</title>
	<published>2009-11-23T04:35:51Z</published>
	<updated>2009-11-23T04:35:51Z</updated>
	<author>
		<name>Alex Snaps</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;I'm currently working on fixing an issue with the EhCache OpenJPA
&lt;br&gt;cache provider.
&lt;br&gt;Doing so I ran across the DataCache.writeLock() and writeUnlock()
&lt;br&gt;methods, which puzzled me a bit. From the naming, I'd like to think
&lt;br&gt;that owning the write lock, I'll be the only thread mutating the
&lt;br&gt;cache, yet current implementations I've seen seem to prove me wrong
&lt;br&gt;(in internal usages e.g.
&lt;br&gt;org.apache.openjpa.kernel.BrokerImpl.evict(Object, OpCallbacks): void
&lt;br&gt;or API usages, but the latter could be more of wrong usages as well).
&lt;br&gt;Anyways, as I haven't found any docs, can someone enlighten me on the
&lt;br&gt;usage of these methods or point me to some literature ?
&lt;br&gt;Thanks,
&lt;br&gt;Alex
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Alex Snaps &amp;lt;&lt;a href=&quot;http://n2.nabble.com/user/SendEmail.jtp?type=node&amp;node=4050814&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[hidden email]&lt;/a&gt;&amp;gt;
&lt;br&gt;Software Engineer - Terracotta
&lt;br&gt;&lt;a href=&quot;http://twitter.com/alexsnaps&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/alexsnaps&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://www.linkedin.com/in/alexsnaps&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.linkedin.com/in/alexsnaps&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/OpenJPA-DataCache-writeLock-tp4050814p4050814.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4050439</id>
	<title>[jira] Commented: (OPENJPA-1399) NoResultException results in the complete transaction being rollled back</title>
	<published>2009-11-23T03:11:39Z</published>
	<updated>2009-11-23T03:11:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; [ &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12781363#action_12781363&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12781363#action_12781363&lt;/a&gt;&amp;nbsp;] 
&lt;br&gt;&lt;br&gt;Amit Puri commented on OPENJPA-1399:
&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;Some more logs:
&lt;br&gt;&lt;br&gt;2009-11-18 18:53:26,671 ERROR [SessionHelper] error in ***** method
&lt;br&gt;&amp;lt;openjpa-1.2.1-r2180:4612 nonfatal user error&amp;gt; org.apache.openjpa.persistence.NoResultException: The query on candidate type &amp;quot;class -------.entities.Session&amp;quot; with filter &amp;quot;select s from Session s where ---- = :-- AND ---- IS NULL and -------- ='1'&amp;quot; was configured to have a unique result, but no instance matched the query.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.QueryImpl.singleResult(QueryImpl.java:1299)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1221)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:990)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:848)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:779)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:254)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.persistence.QueryImpl.getSingleResult(QueryImpl.java:317)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at ------.helper.sessionmgmt.SessionHelper.signOn(SessionHelper.java:55)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at ------.ejb.sessionbean.sessionmgmt.SessionManagement.signOn(SessionManagement.java:75)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.reflect.Method.invoke(Method.java:599)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:210)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.Thread.run(Thread.java:735)
&lt;br&gt;2009-11-18 18:53:32,546 INFO &amp;nbsp;[Transaction] TX Required: Committing transaction org.apache.geronimo.transaction.manager.TransactionImpl@6c396c39
&lt;br&gt;2009-11-18 18:53:33,765 WARN &amp;nbsp;[Transaction] Unexpected exception from beforeCompletion; transaction will roll back
&lt;br&gt;&amp;lt;openjpa-1.2.1-r2180:4612 fatal general error&amp;gt; org.apache.openjpa.persistence.PersistenceException: The transaction has been rolled back. &amp;nbsp;See the nested exceptions for details on the errors that occurred.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2163)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2010)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1908)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1826)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:522)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:507)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:260)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:250)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:138)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:76)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:212)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.Thread.run(Thread.java:735)
&lt;br&gt;Caused by: 
&lt;br&gt;&amp;lt;openjpa-1.2.1-r2180:4612 nonfatal general error&amp;gt; org.apache.openjpa.persistence.PersistenceException: DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2, TABLEID=158, COLNO=0, DRIVER=3.50.152
&lt;br&gt;..
&lt;br&gt;..
&lt;br&gt;FailedObject: --------.entities.Session@5c8d5c8d
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4232)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4197)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.DB2Dictionary.newStoreException(DB2Dictionary.java:503)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:72)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:131)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:72)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flushPrimaryRow(OperationOrderUpdateManager.java:203)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flush(OperationOrderUpdateManager.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:717)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 24 more
&lt;br&gt;Caused by: 
&lt;br&gt;org.apache.openjpa.lib.jdbc.ReportingSQLException: DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2, TABLEID=158, COLNO=0, DRIVER=3.50.152
&lt;br&gt;..
&lt;br&gt;..
&lt;br&gt;at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$700(LoggingConnectionDecorator.java:57)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:866)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1586)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:151)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:120)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 32 more
&lt;br&gt;NestedThrowables:
&lt;br&gt;&amp;lt;openjpa-1.2.1-r2180:4612 nonfatal general error&amp;gt; org.apache.openjpa.persistence.PersistenceException: DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2, TABLEID=639, COLNO=0, DRIVER=3.50.152
&lt;br&gt;&lt;br&gt;FailedObject: -------.entities.SignOnTransaction@36f536f5
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4232)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4197)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.DB2Dictionary.newStoreException(DB2Dictionary.java:503)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:72)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:131)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:72)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flushPrimaryRow(OperationOrderUpdateManager.java:203)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flush(OperationOrderUpdateManager.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:717)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2010)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1908)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1826)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:522)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:507)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:260)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:250)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:138)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:76)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:212)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.Thread.run(Thread.java:735)
&lt;br&gt;Caused by: 
&lt;br&gt;org.apache.openjpa.lib.jdbc.ReportingSQLException: DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2, TABLEID=639, COLNO=0, DRIVER=3.50.152 
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$700(LoggingConnectionDecorator.java:57)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:866)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1586)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:151)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:120)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 32 more
&lt;br&gt;NestedThrowables:
&lt;br&gt;com.ibm.db2.jcc.b.lm: DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2, TABLEID=639, COLNO=0, DRIVER=3.50.152
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.wc.a(wc.java:575)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.wc.a(wc.java:57)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.wc.a(wc.java:126)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.tk.b(tk.java:1593)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.tk.c(tk.java:1576)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.t4.db.k(db.java:353)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.t4.db.a(db.java:59)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.t4.t.a(t.java:50)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.t4.tb.b(tb.java:200)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.uk.Gb(uk.java:2355)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.uk.e(uk.java:3129)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.uk.zb(uk.java:568)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.uk.executeUpdate(uk.java:551)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.tranql.connector.jdbc.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:103)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:864)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1586)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:151)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:120)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:72)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flushPrimaryRow(OperationOrderUpdateManager.java:203)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flush(OperationOrderUpdateManager.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:717)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2010)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1908)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1826)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:522)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:507)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:260)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:250)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:138)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:76)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:212)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.Thread.run(Thread.java:735)
&lt;br&gt;&amp;lt;openjpa-1.2.1-r2180:4612 nonfatal general error&amp;gt; org.apache.openjpa.persistence.PersistenceException: DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2, TABLEID=579, COLNO=0, DRIVER=3.50.152 
&lt;br&gt;&lt;br&gt;FailedObject: -------.entities.ControlTransaction@36e936e9
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4232)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4197)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.DB2Dictionary.newStoreException(DB2Dictionary.java:503)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:102)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:72)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:131)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:72)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flushPrimaryRow(OperationOrderUpdateManager.java:203)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flush(OperationOrderUpdateManager.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:717)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2010)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1908)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1826)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:522)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:507)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:260)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:250)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:138)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:76)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:212)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.Thread.run(Thread.java:735)
&lt;br&gt;Caused by: 
&lt;br&gt;org.apache.openjpa.lib.jdbc.ReportingSQLException: DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2, TABLEID=579, COLNO=0, DRIVER=3.50.152 
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$700(LoggingConnectionDecorator.java:57)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:866)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1586)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:151)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:120)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 32 more
&lt;br&gt;NestedThrowables:
&lt;br&gt;com.ibm.db2.jcc.b.lm: DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2, TABLEID=579, COLNO=0, DRIVER=3.50.152
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.wc.a(wc.java:575)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.wc.a(wc.java:57)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.wc.a(wc.java:126)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.tk.b(tk.java:1593)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.tk.c(tk.java:1576)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.t4.db.k(db.java:353)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.t4.db.a(db.java:59)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.t4.t.a(t.java:50)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.t4.tb.b(tb.java:200)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.uk.Gb(uk.java:2355)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.uk.e(uk.java:3129)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.uk.zb(uk.java:568)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.uk.executeUpdate(uk.java:551)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.tranql.connector.jdbc.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:103)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeUpdate(LoggingConnectionDecorator.java:864)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:269)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeUpdate(JDBCStoreManager.java:1586)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.executeUpdate(PreparedStatementManagerImpl.java:151)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushAndUpdate(PreparedStatementManagerImpl.java:120)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flushInternal(PreparedStatementManagerImpl.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.PreparedStatementManagerImpl.flush(PreparedStatementManagerImpl.java:72)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flushPrimaryRow(OperationOrderUpdateManager.java:203)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.OperationOrderUpdateManager.flush(OperationOrderUpdateManager.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:89)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:72)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:717)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:130)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2010)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1908)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1826)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:522)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:507)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:260)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:250)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:138)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:76)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:212)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.Thread.run(Thread.java:735)
&lt;br&gt;2009-11-18 18:53:33,875 WARN &amp;nbsp;[Transaction] Error ending association for XAResource org.apache.geronimo.transaction.manager.WrapperNamedXAResource@ba10ba1; transaction will roll back. XA error code: 100
&lt;br&gt;com.ibm.db2.jcc.b.ym: [jcc][t4][10401][12066][3.50.152] XA exception: XA_RBROLLBACK ERRORCODE=-4228, SQLSTATE=null
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.b.wc.c(wc.java:402)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.t4.ac.a(ac.java:1680)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.ibm.db2.jcc.t4.ac.end(ac.java:571)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.WrapperNamedXAResource.end(WrapperNamedXAResource.java:51)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.endResources(TransactionImpl.java:571)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.endResources(TransactionImpl.java:550)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:401)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:260)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:250)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:138)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:76)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:212)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.Thread.run(Thread.java:735)
&lt;br&gt;2009-11-18 18:53:33,890 INFO &amp;nbsp;[Transaction] The transaction has been rolled back rather than commited: Unable to commit: transaction marked for rollback
&lt;br&gt;2009-11-18 18:53:33,890 DEBUG [ejb] EJB REQUEST: EJB_OBJECT.BUSINESS_METHOD:***.jar/---:----:null -- RESPONSE: EJB_APP_EXCEPTION:javax.transaction.TransactionRolledbackException: Transaction was rolled back, presumably because setRollbackOnly was called during a synchronization: Unable to commit: transaction marked for rollback
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; NoResultException results in the complete transaction being rollled back
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: OPENJPA-1399
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1399&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1399&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: OpenJPA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: jpa
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 1.2.1
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Environment: Windows, Geronimo 214, DB2
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Amit Puri
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; One of my query which throws a NoResultException results in the complete transaction being rollled back.
&lt;br&gt;&amp;gt; Here is the exception trace.
&lt;br&gt;&amp;gt; -------------------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; 2009-11-18 18:53:26,671 ERROR [SessionHelper] error in ***** method
&lt;br&gt;&amp;gt; &amp;lt;openjpa-1.2.1-r2180:4612 nonfatal user error&amp;gt; org.apache.openjpa.persistence.NoResultException: The query on candidate type &amp;quot;class -------.entities.Session&amp;quot; with filter &amp;quot;select s from Session s where ---- = :-- AND ---- IS NULL and -------- ='1'&amp;quot; was configured to have a unique result, but no instance matched the query.
&lt;br&gt;&amp;gt; 	at org.apache.openjpa.kernel.QueryImpl.singleResult(QueryImpl.java:1299)
&lt;br&gt;&amp;gt; 	at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1221)
&lt;br&gt;&amp;gt; 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:990)
&lt;br&gt;&amp;gt; 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:848)
&lt;br&gt;&amp;gt; 	at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:779)
&lt;br&gt;&amp;gt; 	at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525)
&lt;br&gt;&amp;gt; 	at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:254)
&lt;br&gt;&amp;gt; 	at org.apache.openjpa.persistence.QueryImpl.getSingleResult(QueryImpl.java:317)
&lt;br&gt;&amp;gt; 	at ------.helper.sessionmgmt.SessionHelper.signOn(SessionHelper.java:55)
&lt;br&gt;&amp;gt; 	at ------.ejb.sessionbean.sessionmgmt.SessionManagement.signOn(SessionManagement.java:75)
&lt;br&gt;&amp;gt; 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&lt;br&gt;&amp;gt; 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
&lt;br&gt;&amp;gt; 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
&lt;br&gt;&amp;gt; 	at java.lang.reflect.Method.invoke(Method.java:599)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:210)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
&lt;br&gt;&amp;gt; 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
&lt;br&gt;&amp;gt; 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
&lt;br&gt;&amp;gt; 	at java.lang.Thread.run(Thread.java:735)
&lt;br&gt;&amp;gt; 2009-11-18 18:53:32,546 INFO &amp;nbsp;[Transaction] TX Required: Committing transaction org.apache.geronimo.transaction.manager.TransactionImpl@6c396c39
&lt;br&gt;&amp;gt; 2009-11-18 18:53:33,765 WARN &amp;nbsp;[Transaction] Unexpected exception from beforeCompletion; transaction will roll back
&lt;br&gt;&amp;gt; &amp;lt;openjpa-1.2.1-r2180:4612 fatal general error&amp;gt; org.apache.openjpa.persistence.PersistenceException: The transaction has been rolled back. &amp;nbsp;See the nested exceptions for details on the errors that occurred.
&lt;br&gt;&amp;gt; 	at org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2163)
&lt;br&gt;&amp;gt; 	at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2010)
&lt;br&gt;&amp;gt; 	at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1908)
&lt;br&gt;&amp;gt; 	at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1826)
&lt;br&gt;&amp;gt; 	at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:522)
&lt;br&gt;&amp;gt; 	at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:507)
&lt;br&gt;&amp;gt; 	at org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400)
&lt;br&gt;&amp;gt; 	at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:260)
&lt;br&gt;&amp;gt; 	at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:250)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:138)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:76)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:212)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
&lt;br&gt;&amp;gt; 	at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
&lt;br&gt;&amp;gt; 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
&lt;br&gt;&amp;gt; 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
&lt;br&gt;&amp;gt; 	at java.lang.Thread.run(Thread.java:735)
&lt;br&gt;&amp;gt; Caused by: 
&lt;br&gt;&amp;gt; &amp;lt;openjpa-1.2.1-r2180:4612 nonfatal general error&amp;gt; org.apache.openjpa.persistence.PersistenceException: DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2, TABLEID=158, COLNO=0, DRIVER=3.50.152
&lt;br&gt;&amp;gt; -------------------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; I find the following in JPA spec which clearly says that NoResultException should not result in a roll back.
&lt;br&gt;&amp;gt; For your reference here is the section 3.7 of JPA spec from my copy.
&lt;br&gt;&amp;gt; Section 3.7 of the JPA 1.0 spec states that:
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; PersistenceException
&lt;br&gt;&amp;gt; The PersistenceException is thrown by the persistence provider when a problem
&lt;br&gt;&amp;gt; occurs. It may be thrown to report that the invoked operation could not complete because of an
&lt;br&gt;&amp;gt; unexpected error (e.g., failure of the persistence provider to open a database connection).
&lt;br&gt;&amp;gt; All other exceptions defined by this specification are subclasses of the PersistenceException.
&lt;br&gt;&amp;gt; All instances of PersistenceException except for instances of NoResultException
&lt;br&gt;&amp;gt; and NonUniqueResultException will cause the current transaction,
&lt;br&gt;&amp;gt; if one is active, to be marked for rollback.
&lt;br&gt;&amp;gt; -------------------------------------------------------------------------------------------
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1399-NoResultException-results-in-the-complete-transaction-being-rollled-back-tp4050427p4050439.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-4050427"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4050427</id>
	<title>[jira] Created: (OPENJPA-1399) NoResultException results in the complete transaction being rollled back</title>
	<published>2009-11-23T03:09:39Z</published>
	<updated>2009-11-23T03:09:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">NoResultException results in the complete transaction being rollled back
&lt;br&gt;------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: OPENJPA-1399
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1399&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1399&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: OpenJPA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: jpa
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 1.2.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Environment: Windows, Geronimo 214, DB2
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Amit Puri
&lt;br&gt;&lt;br&gt;&lt;br&gt;One of my query which throws a NoResultException results in the complete transaction being rollled back.
&lt;br&gt;&lt;br&gt;Here is the exception trace.
&lt;br&gt;&lt;br&gt;-------------------------------------------------------------------------------------------
&lt;br&gt;2009-11-18 18:53:26,671 ERROR [SessionHelper] error in ***** method
&lt;br&gt;&amp;lt;openjpa-1.2.1-r2180:4612 nonfatal user error&amp;gt; org.apache.openjpa.persistence.NoResultException: The query on candidate type &amp;quot;class -------.entities.Session&amp;quot; with filter &amp;quot;select s from Session s where ---- = :-- AND ---- IS NULL and -------- ='1'&amp;quot; was configured to have a unique result, but no instance matched the query.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.QueryImpl.singleResult(QueryImpl.java:1299)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1221)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:990)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:848)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:779)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:525)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:254)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.persistence.QueryImpl.getSingleResult(QueryImpl.java:317)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at ------.helper.sessionmgmt.SessionHelper.signOn(SessionHelper.java:55)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at ------.ejb.sessionbean.sessionmgmt.SessionManagement.signOn(SessionManagement.java:75)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.reflect.Method.invoke(Method.java:599)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:158)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:141)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:210)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.Thread.run(Thread.java:735)
&lt;br&gt;2009-11-18 18:53:32,546 INFO &amp;nbsp;[Transaction] TX Required: Committing transaction org.apache.geronimo.transaction.manager.TransactionImpl@6c396c39
&lt;br&gt;2009-11-18 18:53:33,765 WARN &amp;nbsp;[Transaction] Unexpected exception from beforeCompletion; transaction will roll back
&lt;br&gt;&amp;lt;openjpa-1.2.1-r2180:4612 fatal general error&amp;gt; org.apache.openjpa.persistence.PersistenceException: The transaction has been rolled back. &amp;nbsp;See the nested exceptions for details on the errors that occurred.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2163)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2010)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1908)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1826)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:522)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:507)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:260)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:250)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TransactionPolicy.commitTransaction(TransactionPolicy.java:138)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.transaction.TxRequired.afterInvoke(TxRequired.java:76)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:212)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:188)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:238)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:129)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:164)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:122)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:84)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:60)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$2.run(ServicePool.java:78)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openejb.server.ServicePool$3.run(ServicePool.java:101)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:896)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.Thread.run(Thread.java:735)
&lt;br&gt;Caused by: 
&lt;br&gt;&amp;lt;openjpa-1.2.1-r2180:4612 nonfatal general error&amp;gt; org.apache.openjpa.persistence.PersistenceException: DB2 SQL Error: SQLCODE=-407, SQLSTATE=23502, SQLERRMC=TBSPACEID=2, TABLEID=158, COLNO=0, DRIVER=3.50.152
&lt;br&gt;-------------------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;I find the following in JPA spec which clearly says that NoResultException should not result in a roll back.
&lt;br&gt;&lt;br&gt;For your reference here is the section 3.7 of JPA spec from my copy.
&lt;br&gt;&lt;br&gt;Section 3.7 of the JPA 1.0 spec states that:
&lt;br&gt;------------------------------------------------------------------------------------------
&lt;br&gt;PersistenceException
&lt;br&gt;The PersistenceException is thrown by the persistence provider when a problem
&lt;br&gt;occurs. It may be thrown to report that the invoked operation could not complete because of an
&lt;br&gt;unexpected error (e.g., failure of the persistence provider to open a database connection).
&lt;br&gt;All other exceptions defined by this specification are subclasses of the PersistenceException.
&lt;br&gt;All instances of PersistenceException except for instances of NoResultException
&lt;br&gt;and NonUniqueResultException will cause the current transaction,
&lt;br&gt;if one is active, to be marked for rollback.
&lt;br&gt;-------------------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1399-NoResultException-results-in-the-complete-transaction-being-rollled-back-tp4050427p4050427.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4056675</id>
	<title>[jira] Commented: (OPENJPA-1398) Inheritance with Listgetter Bug</title>
	<published>2009-11-24T01:28:39Z</published>
	<updated>2009-11-24T01:28:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; [ &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12781835#action_12781835&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12781835#action_12781835&lt;/a&gt;&amp;nbsp;] 
&lt;br&gt;&lt;br&gt;Stefan Wokusch commented on OPENJPA-1398:
&lt;br&gt;-----------------------------------------
&lt;br&gt;&lt;br&gt;After long debug sessions i think i found the problem.
&lt;br&gt;First I have to say, in many parts there is no Doku, so its very hard to find out what jpa does.
&lt;br&gt;&lt;br&gt;When jpa should load the t2list attribute, it first creates a correct query for getting the T3 values as well. But than it says, the query is not required and ignores the query. Giving here true is the first position to a possible bug (no doku about the seld variable, so i dont know what it does).
&lt;br&gt;Than i found out, that the proxy creates a second query. This time it is the executed wrong query. When adding an Field in T3 like String text, the query would get the t3.text in the select statement, but dont make the where clause correct. So possible in the selectSubClasses method could be an error.
&lt;br&gt;The third and the last possible reason is, that the select funktion inside the unionJoin of the proxy says, that the query is joinable, so it pushes the wrong where statement into the query. So the possible bug could be caused by this function.
&lt;br&gt;&lt;br&gt;After switching off the superclassDiscriminatorStrategyByDefault the test passes correctly. So the #1200 Ticket could cause this problem. The documentation says nothing, and it says the default of this attribute is false, but its true. So adding into persistence.xml
&lt;br&gt;&amp;lt;property name=&amp;quot;openjpa.Compatibility&amp;quot; value=&amp;quot;... , superclassDiscriminatorStrategyByDefault=false&amp;quot;/&amp;gt;
&lt;br&gt;fixes this problem. I dont know what this should do, but without that default value it works...
&lt;br&gt;&lt;br&gt;So, plz document the Compatibillity attributes, to make it much more easier :)
&lt;br&gt;&lt;br&gt;ps.:
&lt;br&gt;After adding some other Compatibillity attributes openjpa works with the deadlock patch and a little hacks to remove orphans fine.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Inheritance with Listgetter Bug
&lt;br&gt;&amp;gt; -------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: OPENJPA-1398
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1398&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1398&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: OpenJPA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: jpa, kernel, query
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 2.0.0-M3
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Environment: Vista 64bit, Mysql, 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Stefan Wokusch
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Priority: Critical
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have a Problem with my OpenJPA, and i think its a bug. The Getter/Proxy dont get all elements of a List.
&lt;br&gt;&amp;gt; Following the complete Testcase scenario:
&lt;br&gt;&amp;gt; For the test the following Settings are used. Cache have to be disabled, otherwise the test will pass because cached data.
&lt;br&gt;&amp;gt; persistence.xml::
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt; &amp;lt;class&amp;gt;hellojpa.T1&amp;lt;/class&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;class&amp;gt;hellojpa.T2&amp;lt;/class&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;class&amp;gt;hellojpa.T3&amp;lt;/class&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;properties&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.Log&amp;quot; value=&amp;quot;SQL=TRACE&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.OrphanedKeyAction&amp;quot; value=&amp;quot;log(Channel=Orphans, Level=TRACE)&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.Multithreaded&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.InverseManager&amp;quot; value=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.LockManager&amp;quot; value=&amp;quot;none&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.WriteLockLevel&amp;quot; &amp;nbsp; &amp;nbsp;value=&amp;quot;none&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.Compatibility&amp;quot; value=&amp;quot;QuotedNumbersInQueries=true,CopyOnDetach=true&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.DetachState&amp;quot; value=&amp;quot;fetch-groups&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.jdbc.SynchronizeMappings&amp;quot; value=&amp;quot;buildSchema&amp;quot; /&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;// Using Mysql but i think the prob is the query it selves :)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.ConnectionURL&amp;quot; value=&amp;quot;jdbc:mysql://localhost/jpatest&amp;quot; /&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.ConnectionDriverName&amp;quot; value=&amp;quot;com.mysql.jdbc.Driver&amp;quot; /&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.ConnectionUserName&amp;quot; value=&amp;quot;jpatest&amp;quot; /&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.ConnectionPassword&amp;quot; value=&amp;quot;XXXXXXXXX&amp;quot; /&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/properties&amp;gt;
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt; My Entityclasses:
&lt;br&gt;&amp;gt; @Entity
&lt;br&gt;&amp;gt; @Inheritance(strategy=InheritanceType.SINGLE_TABLE)
&lt;br&gt;&amp;gt; public class T1 {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;@Id
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;@GeneratedValue
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;private Integer id;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setId(Integer id) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.id = id;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;public Integer getId() {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return id;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; @Entity
&lt;br&gt;&amp;gt; public class T2 extends T1{
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;@OneToMany(fetch=FetchType.LAZY, cascade=CascadeType.PERSIST)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;private List&amp;lt;T2&amp;gt; t2List;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;public void setT1List(List&amp;lt;T2&amp;gt; t2List) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.t2List = t2List;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;public List&amp;lt;T2&amp;gt; getT2List() {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return t2List;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; @Entity
&lt;br&gt;&amp;gt; public class T3 extends T2 {
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt; We have 3 Classes on the top of each other, at the middle a List with T2s.
&lt;br&gt;&amp;gt; My Testclasses:
&lt;br&gt;&amp;gt; private static void commit(){
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;em.getTransaction().begin();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;em.getTransaction().commit();
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; // Create a TestEntity
&lt;br&gt;&amp;gt; T2 t2 = new T2();
&lt;br&gt;&amp;gt; em.persist(t2);
&lt;br&gt;&amp;gt; commit();
&lt;br&gt;&amp;gt; // Put a T2
&lt;br&gt;&amp;gt; t2.getT2List().add(new T2());
&lt;br&gt;&amp;gt; commit();
&lt;br&gt;&amp;gt; em.refresh(t2); &amp;nbsp; // important to cause a new DB-Query.
&lt;br&gt;&amp;gt; assert(t2.getT2List().size()==1); &amp;nbsp;// its *OK*
&lt;br&gt;&amp;gt; // Put a T3
&lt;br&gt;&amp;gt; t2.getT2List().add(new T3());
&lt;br&gt;&amp;gt; commit();
&lt;br&gt;&amp;gt; em.refresh(t2); &amp;nbsp; // important to cause a new DB-Query.
&lt;br&gt;&amp;gt; assert(t2.getT2List().size()==2);// it *FAILS*
&lt;br&gt;&amp;gt; Database after the Test:
&lt;br&gt;&amp;gt; T1:
&lt;br&gt;&amp;gt; id -&amp;gt; DTYPE
&lt;br&gt;&amp;gt; 51 -&amp;gt; T2
&lt;br&gt;&amp;gt; 52 -&amp;gt; T2
&lt;br&gt;&amp;gt; 53 -&amp;gt; T3
&lt;br&gt;&amp;gt; T1_T1
&lt;br&gt;&amp;gt; T2_ID -&amp;gt; T2_T2LIST
&lt;br&gt;&amp;gt; 51 -&amp;gt; 52
&lt;br&gt;&amp;gt; 51 -&amp;gt; 53
&lt;br&gt;&amp;gt; In the Database, there are both Elements correctly. I think the Problem is, that OpenJPA creates the following SQL-Queries:
&lt;br&gt;&amp;gt; SELECT t1.id, t1.DTYPE
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;FROM T1_T1 t0 INNER JOIN T1 t1 ON t0.T2_ID = t1.id
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;WHERE t0.T2_ID = ? AND *t1.DTYPE = ? *
&lt;br&gt;&amp;gt; [params=(int) 3601, (String) *T2*]
&lt;br&gt;&amp;gt; So the T3 Entities would be ignored. in this query. Did anyone have an Idea why jpa makes such a strange query with ignoring the subclasses of T2.
&lt;br&gt;&amp;gt; My other trys:
&lt;br&gt;&amp;gt; - Marks with @Nonpolymorphic(NonpolymorphicType.JOINABLE)
&lt;br&gt;&amp;gt; - Marks with @ElementNonpolymorphic(NonpolymorphicType.JOINABLE)
&lt;br&gt;&amp;gt; - Take Set instead of List
&lt;br&gt;&amp;gt; - The Scenario without a List and a Single Relation would pass and gets an query with t1.DTYPE IN (T2, T3). So its only with Lists. 
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1398-Inheritance-with-Listgetter-Bug-tp4050299p4056675.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-4050299"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4050299</id>
	<title>[jira] Created: (OPENJPA-1398) Inheritance with Listgetter Bug</title>
	<published>2009-11-23T02:35:39Z</published>
	<updated>2009-11-23T02:35:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">Inheritance with Listgetter Bug
&lt;br&gt;-------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: OPENJPA-1398
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1398&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1398&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: OpenJPA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: jpa, kernel, query
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.0.0-M3
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Environment: Vista 64bit, Mysql, 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Stefan Wokusch
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Priority: Critical
&lt;br&gt;&lt;br&gt;&lt;br&gt;I have a Problem with my OpenJPA, and i think its a bug. The Getter/Proxy dont get all elements of a List.
&lt;br&gt;Following the complete Testcase scenario:
&lt;br&gt;&lt;br&gt;For the test the following Settings are used. Cache have to be disabled, otherwise the test will pass because cached data.
&lt;br&gt;persistence.xml::
&lt;br&gt;...
&lt;br&gt;&amp;lt;class&amp;gt;hellojpa.T1&amp;lt;/class&amp;gt;
&lt;br&gt;&amp;lt;class&amp;gt;hellojpa.T2&amp;lt;/class&amp;gt;
&lt;br&gt;&amp;lt;class&amp;gt;hellojpa.T3&amp;lt;/class&amp;gt;
&lt;br&gt;&amp;lt;properties&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.Log&amp;quot; value=&amp;quot;SQL=TRACE&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.OrphanedKeyAction&amp;quot; value=&amp;quot;log(Channel=Orphans, Level=TRACE)&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.Multithreaded&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.InverseManager&amp;quot; value=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.LockManager&amp;quot; value=&amp;quot;none&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.WriteLockLevel&amp;quot; &amp;nbsp; &amp;nbsp;value=&amp;quot;none&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.Compatibility&amp;quot; value=&amp;quot;QuotedNumbersInQueries=true,CopyOnDetach=true&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.DetachState&amp;quot; value=&amp;quot;fetch-groups&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.jdbc.SynchronizeMappings&amp;quot; value=&amp;quot;buildSchema&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;// Using Mysql but i think the prob is the query it selves :)
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.ConnectionURL&amp;quot; value=&amp;quot;jdbc:mysql://localhost/jpatest&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.ConnectionDriverName&amp;quot; value=&amp;quot;com.mysql.jdbc.Driver&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.ConnectionUserName&amp;quot; value=&amp;quot;jpatest&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.ConnectionPassword&amp;quot; value=&amp;quot;XXXXXXXXX&amp;quot; /&amp;gt;
&lt;br&gt;&amp;lt;/properties&amp;gt;
&lt;br&gt;...
&lt;br&gt;&lt;br&gt;&lt;br&gt;My Entityclasses:
&lt;br&gt;@Entity
&lt;br&gt;@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
&lt;br&gt;public class T1 {
&lt;br&gt;&amp;nbsp; &amp;nbsp;@Id
&lt;br&gt;&amp;nbsp; &amp;nbsp;@GeneratedValue
&lt;br&gt;&amp;nbsp; &amp;nbsp;private Integer id;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void setId(Integer id) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.id = id;
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;public Integer getId() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return id;
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;}
&lt;br&gt;@Entity
&lt;br&gt;public class T2 extends T1{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@OneToMany(fetch=FetchType.LAZY, cascade=CascadeType.PERSIST)
&lt;br&gt;&amp;nbsp; &amp;nbsp;private List&amp;lt;T2&amp;gt; t2List;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;public void setT1List(List&amp;lt;T2&amp;gt; t2List) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.t2List = t2List;
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;public List&amp;lt;T2&amp;gt; getT2List() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return t2List;
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;}
&lt;br&gt;@Entity
&lt;br&gt;public class T3 extends T2 {
&lt;br&gt;&amp;nbsp; }
&lt;br&gt;&lt;br&gt;We have 3 Classes on the top of each other, at the middle a List with T2s.
&lt;br&gt;&lt;br&gt;&lt;br&gt;My Testclasses:
&lt;br&gt;private static void commit(){
&lt;br&gt;&amp;nbsp; &amp;nbsp;em.getTransaction().begin();
&lt;br&gt;&amp;nbsp; &amp;nbsp;em.getTransaction().commit();
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;// Create a TestEntity
&lt;br&gt;T2 t2 = new T2();
&lt;br&gt;em.persist(t2);
&lt;br&gt;commit();
&lt;br&gt;&lt;br&gt;// Put a T2
&lt;br&gt;t2.getT2List().add(new T2());
&lt;br&gt;commit();
&lt;br&gt;em.refresh(t2); &amp;nbsp; // important to cause a new DB-Query.
&lt;br&gt;assert(t2.getT2List().size()==1); &amp;nbsp;// its *OK*
&lt;br&gt;&lt;br&gt;// Put a T3
&lt;br&gt;t2.getT2List().add(new T3());
&lt;br&gt;commit();
&lt;br&gt;em.refresh(t2); &amp;nbsp; // important to cause a new DB-Query.
&lt;br&gt;assert(t2.getT2List().size()==2);// it *FAILS*
&lt;br&gt;&lt;br&gt;Database after the Test:
&lt;br&gt;T1:
&lt;br&gt;id -&amp;gt; DTYPE
&lt;br&gt;51 -&amp;gt; T2
&lt;br&gt;52 -&amp;gt; T2
&lt;br&gt;53 -&amp;gt; T3
&lt;br&gt;T1_T1
&lt;br&gt;T2_ID -&amp;gt; T2_T2LIST
&lt;br&gt;51 -&amp;gt; 52
&lt;br&gt;51 -&amp;gt; 53
&lt;br&gt;&lt;br&gt;In the Database, there are both Elements correctly. I think the Problem is, that OpenJPA creates the following SQL-Queries:
&lt;br&gt;SELECT t1.id, t1.DTYPE
&lt;br&gt;&amp;nbsp; &amp;nbsp;FROM T1_T1 t0 INNER JOIN T1 t1 ON t0.T2_ID = t1.id
&lt;br&gt;&amp;nbsp; &amp;nbsp;WHERE t0.T2_ID = ? AND *t1.DTYPE = ? *
&lt;br&gt;[params=(int) 3601, (String) *T2*]
&lt;br&gt;&lt;br&gt;So the T3 Entities would be ignored. in this query. Did anyone have an Idea why jpa makes such a strange query with ignoring the subclasses of T2.
&lt;br&gt;&lt;br&gt;My other trys:
&lt;br&gt;- Marks with @Nonpolymorphic(NonpolymorphicType.JOINABLE)
&lt;br&gt;- Marks with @ElementNonpolymorphic(NonpolymorphicType.JOINABLE)
&lt;br&gt;- Take Set instead of List
&lt;br&gt;- The Scenario without a List and a Single Relation would pass and gets an query with t1.DTYPE IN (T2, T3). So its only with Lists. 
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1398-Inheritance-with-Listgetter-Bug-tp4050299p4050299.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4040977</id>
	<title>Inheritance with Listgetter Bug</title>
	<published>2009-11-20T17:17:36Z</published>
	<updated>2009-11-20T17:17:36Z</updated>
	<author>
		<name>Stefan W</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;I have a Problem with my OpenJPA, and i think its a bug. The Getter/Proxy dont get all elements of a List.
&lt;br&gt;Following the complete Testcase scenario:
&lt;br&gt;&lt;br&gt;For the test the following Settings are used. Cache have to be disabled, otherwise the test will pass because cached data.
&lt;br&gt;persistence.xml::
&lt;br&gt;...
&lt;br&gt;&amp;lt;class&amp;gt;hellojpa.T1&amp;lt;/class&amp;gt;
&lt;br&gt;&amp;lt;class&amp;gt;hellojpa.T2&amp;lt;/class&amp;gt;
&lt;br&gt;&amp;lt;class&amp;gt;hellojpa.T3&amp;lt;/class&amp;gt;
&lt;br&gt;&amp;lt;properties&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.Log&amp;quot; value=&amp;quot;SQL=TRACE&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.OrphanedKeyAction&amp;quot; value=&amp;quot;log(Channel=Orphans, Level=TRACE)&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.Multithreaded&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.InverseManager&amp;quot; value=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.LockManager&amp;quot; value=&amp;quot;none&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.WriteLockLevel&amp;quot; &amp;nbsp; &amp;nbsp;value=&amp;quot;none&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.Compatibility&amp;quot; value=&amp;quot;QuotedNumbersInQueries=true,CopyOnDetach=true&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.DetachState&amp;quot; value=&amp;quot;fetch-groups&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.jdbc.SynchronizeMappings&amp;quot; value=&amp;quot;buildSchema&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;// Using Mysql but i think the prob is the query it selves :)
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.ConnectionURL&amp;quot; value=&amp;quot;jdbc:mysql://localhost/jpatest&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.ConnectionDriverName&amp;quot; value=&amp;quot;com.mysql.jdbc.Driver&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.ConnectionUserName&amp;quot; value=&amp;quot;jpatest&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp;&amp;lt;property name=&amp;quot;openjpa.ConnectionPassword&amp;quot; value=&amp;quot;XXXXXXXXX&amp;quot; /&amp;gt;
&lt;br&gt;&amp;lt;/properties&amp;gt;
&lt;br&gt;...
&lt;br&gt;&lt;br&gt;&lt;br&gt;My Entityclasses:
&lt;br&gt;@Entity
&lt;br&gt;@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
&lt;br&gt;public class T1 {
&lt;br&gt;&amp;nbsp; &amp;nbsp;@Id
&lt;br&gt;&amp;nbsp; &amp;nbsp;@GeneratedValue
&lt;br&gt;&amp;nbsp; &amp;nbsp;private Integer id;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void setId(Integer id) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.id = id;
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;public Integer getId() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return id;
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;}
&lt;br&gt;@Entity
&lt;br&gt;public class T2 extends T1{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@OneToMany(fetch=FetchType.LAZY, cascade=CascadeType.PERSIST)
&lt;br&gt;&amp;nbsp; &amp;nbsp;private List&amp;lt;T2&amp;gt; t2List;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;public void setT1List(List&amp;lt;T2&amp;gt; t2List) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.t2List = t2List;
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;public List&amp;lt;T2&amp;gt; getT2List() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return t2List;
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;}
&lt;br&gt;@Entity
&lt;br&gt;public class T3 extends T2 {
&lt;br&gt;&amp;nbsp; }
&lt;br&gt;&lt;br&gt;We have 3 Classes on the top of each other, at the middle a List with T2s.
&lt;br&gt;&lt;br&gt;&lt;br&gt;My Testclasses:
&lt;br&gt;private static void commit(){
&lt;br&gt;&amp;nbsp; &amp;nbsp;em.getTransaction().begin();
&lt;br&gt;&amp;nbsp; &amp;nbsp;em.getTransaction().commit();
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;// Create a TestEntity
&lt;br&gt;T2 t2 = new T2();
&lt;br&gt;em.persist(t2);
&lt;br&gt;commit();
&lt;br&gt;&lt;br&gt;// Put a T2
&lt;br&gt;t2.getT2List().add(new T2());
&lt;br&gt;commit();
&lt;br&gt;em.refresh(t2); &amp;nbsp; // important to cause a new DB-Query.
&lt;br&gt;assert(t2.getT2List().size()==1); &amp;nbsp;// its *OK*
&lt;br&gt;&lt;br&gt;// Put a T3
&lt;br&gt;t2.getT2List().add(new T3());
&lt;br&gt;commit();
&lt;br&gt;em.refresh(t2); &amp;nbsp; // important to cause a new DB-Query.
&lt;br&gt;assert(t2.getT2List().size()==2);// it *FAILS*
&lt;br&gt;&lt;br&gt;Database after the Test:
&lt;br&gt;T1:
&lt;br&gt;id -&amp;gt; DTYPE
&lt;br&gt;51 -&amp;gt; T2
&lt;br&gt;52 -&amp;gt; T2
&lt;br&gt;53 -&amp;gt; T3
&lt;br&gt;T1_T1
&lt;br&gt;T2_ID -&amp;gt; T2_T2LIST
&lt;br&gt;51 -&amp;gt; 52
&lt;br&gt;51 -&amp;gt; 53
&lt;br&gt;&lt;br&gt;In the Database, there are both Elements correctly. I think the Problem is, that OpenJPA creates the following SQL-Queries:
&lt;br&gt;SELECT t1.id, t1.DTYPE
&lt;br&gt;&amp;nbsp; &amp;nbsp;FROM T1_T1 t0 INNER JOIN T1 t1 ON t0.T2_ID = t1.id
&lt;br&gt;&amp;nbsp; &amp;nbsp;WHERE t0.T2_ID = ? AND *t1.DTYPE = ? *
&lt;br&gt;[params=(int) 3601, (String) *T2*]
&lt;br&gt;&lt;br&gt;So the T3 Entities would be ignored. in this query. Did anyone have an Idea why jpa makes such a strange query with ignoring the subclasses of T2.
&lt;br&gt;&lt;br&gt;My other trys:
&lt;br&gt;- Marks with @Nonpolymorphic(NonpolymorphicType.JOINABLE)
&lt;br&gt;- Marks with @ElementNonpolymorphic(NonpolymorphicType.JOINABLE)
&lt;br&gt;- Take Set instead of List
&lt;br&gt;- The Scenario without a List and a Single Relation would pass and gets an query with t1.DTYPE IN (T2, T3). So its only with Lists.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Hope for help
&lt;br&gt;Stefan</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/Inheritance-with-Listgetter-Bug-tp4040977p4040977.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4041492</id>
	<title>Inheritance with Listgetter Bug</title>
	<published>2009-11-20T17:07:47Z</published>
	<updated>2009-11-20T17:07:47Z</updated>
	<author>
		<name>Stefan W</name>
	</author>
	<content type="html">Hello Team,
&lt;br&gt;I have a Problem with my OpenJPA, and i think its a bug. The 
&lt;br&gt;Getter/Proxy dont get all elements of a List.
&lt;br&gt;Following the complete Testcase scenario:
&lt;br&gt;&lt;br&gt;For the test the following Settings are used. Cache have to be disabled, 
&lt;br&gt;otherwise the test will pass because cached data.
&lt;br&gt;persistence.xml::
&lt;br&gt;...
&lt;br&gt;&amp;lt;class&amp;gt;hellojpa.T1&amp;lt;/class&amp;gt;
&lt;br&gt;&amp;lt;class&amp;gt;hellojpa.T2&amp;lt;/class&amp;gt;
&lt;br&gt;&amp;lt;class&amp;gt;hellojpa.T3&amp;lt;/class&amp;gt;
&lt;br&gt;&amp;lt;properties&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.Log&amp;quot; value=&amp;quot;SQL=TRACE&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.OrphanedKeyAction&amp;quot; 
&lt;br&gt;value=&amp;quot;log(Channel=Orphans, Level=TRACE)&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.Multithreaded&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.InverseManager&amp;quot; value=&amp;quot;true&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.LockManager&amp;quot; value=&amp;quot;none&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.WriteLockLevel&amp;quot; &amp;nbsp; &amp;nbsp;value=&amp;quot;none&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.Compatibility&amp;quot; 
&lt;br&gt;value=&amp;quot;QuotedNumbersInQueries=true,CopyOnDetach=true&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.DetachState&amp;quot; value=&amp;quot;fetch-groups&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.jdbc.SynchronizeMappings&amp;quot; value=&amp;quot;buildSchema&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; // Using Mysql but i think the prob is the query it selves :)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.ConnectionURL&amp;quot; 
&lt;br&gt;value=&amp;quot;jdbc:mysql://localhost/jpatest&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.ConnectionDriverName&amp;quot; 
&lt;br&gt;value=&amp;quot;com.mysql.jdbc.Driver&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.ConnectionUserName&amp;quot; value=&amp;quot;jpatest&amp;quot; /&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.ConnectionPassword&amp;quot; value=&amp;quot;XXXXXXXXX&amp;quot; /&amp;gt;
&lt;br&gt;&amp;lt;/properties&amp;gt;
&lt;br&gt;...
&lt;br&gt;&lt;br&gt;&lt;br&gt;My Entityclasses:
&lt;br&gt;@Entity
&lt;br&gt;@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
&lt;br&gt;public class T1 {
&lt;br&gt;&amp;nbsp; &amp;nbsp; @Id
&lt;br&gt;&amp;nbsp; &amp;nbsp; @GeneratedValue
&lt;br&gt;&amp;nbsp; &amp;nbsp; private Integer id;
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; public void setId(Integer id) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.id = id;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; public Integer getId() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return id;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;@Entity
&lt;br&gt;public class T2 extends T1{
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; @OneToMany(fetch=FetchType.LAZY, cascade=CascadeType.PERSIST)
&lt;br&gt;&amp;nbsp; &amp;nbsp; private List&amp;lt;T2&amp;gt; t2List;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; public void setT1List(List&amp;lt;T2&amp;gt; t2List) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.t2List = t2List;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; public List&amp;lt;T2&amp;gt; getT2List() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return t2List;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;@Entity
&lt;br&gt;public class T3 extends T2 {
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;We have 3 Classes on the top of each other, at the middle a List with T2s.
&lt;br&gt;&lt;br&gt;&lt;br&gt;My Testclasses:
&lt;br&gt;private static void commit(){
&lt;br&gt;&amp;nbsp; &amp;nbsp; em.getTransaction().begin();
&lt;br&gt;&amp;nbsp; &amp;nbsp; em.getTransaction().commit();
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;// Create a TestEntity
&lt;br&gt;T2 t2 = new T2();
&lt;br&gt;em.persist(t2);
&lt;br&gt;commit();
&lt;br&gt;&lt;br&gt;// Put a T2
&lt;br&gt;t2.getT2List().add(new T2());
&lt;br&gt;commit();
&lt;br&gt;em.refresh(t2); &amp;nbsp; // important to cause a new DB-Query.
&lt;br&gt;assert(t2.getT2List().size()==1); &amp;nbsp;// its *OK*
&lt;br&gt;&lt;br&gt;// Put a T3
&lt;br&gt;t2.getT2List().add(new T3());
&lt;br&gt;commit();
&lt;br&gt;em.refresh(t2); &amp;nbsp; // important to cause a new DB-Query.
&lt;br&gt;assert(t2.getT2List().size()==2);// it *FAILS*
&lt;br&gt;&lt;br&gt;Database after the Test:
&lt;br&gt;T1:
&lt;br&gt;id -&amp;gt; DTYPE
&lt;br&gt;51 -&amp;gt; T2
&lt;br&gt;52 -&amp;gt; T2
&lt;br&gt;53 -&amp;gt; T3
&lt;br&gt;T1_T1
&lt;br&gt;T2_ID -&amp;gt; T2_T2LIST
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://localhost/phpmyadmin/sql.php?db=jpatest&amp;table=t1_t1&amp;token=1b8675e6aa2418688ccc524052b6ba27&amp;sql_query=SELECT+%2A+FROM+%60t1_t1%60+ORDER+BY+%60t1_t1%60.%60T2LIST_ID%60+ASC&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://localhost/phpmyadmin/sql.php?db=jpatest&amp;table=t1_t1&amp;token=1b8675e6aa2418688ccc524052b6ba27&amp;sql_query=SELECT+%2A+FROM+%60t1_t1%60+ORDER+BY+%60t1_t1%60.%60T2LIST_ID%60+ASC&lt;/a&gt;&amp;gt;51 
&lt;br&gt;-&amp;gt; 52
&lt;br&gt;51 -&amp;gt; 53
&lt;br&gt;&lt;br&gt;In the Database, there are both Elements correctly. I think the Problem 
&lt;br&gt;is, that OpenJPA creates the following SQL-Queries:
&lt;br&gt;SELECT t1.id, t1.DTYPE
&lt;br&gt;&amp;nbsp; &amp;nbsp; FROM T1_T1 t0 INNER JOIN T1 t1 ON t0.T2_ID = t1.id
&lt;br&gt;&amp;nbsp; &amp;nbsp; WHERE t0.T2_ID = ? AND *t1.DTYPE = ? *
&lt;br&gt;[params=(int) 3601, (String) *T2*]
&lt;br&gt;&lt;br&gt;So the T3 Entities would be ignored. in this query. Did anyone have an 
&lt;br&gt;Idea why jpa makes such a strange query with ignoring the subclasses of T2.
&lt;br&gt;&lt;br&gt;My other trys:
&lt;br&gt;- Marks with @Nonpolymorphic(NonpolymorphicType.JOINABLE)
&lt;br&gt;- Marks with @ElementNonpolymorphic(NonpolymorphicType.JOINABLE)
&lt;br&gt;- Take Set instead of List
&lt;br&gt;- The Scenario without a List and a Single Relation would pass and gets 
&lt;br&gt;an query with t1.DTYPE IN (T2, T3). So its only with Lists.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Hope for help
&lt;br&gt;Stefan
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/Inheritance-with-Listgetter-Bug-tp4041492p4041492.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4038821</id>
	<title>Long strings are improperly mapped on Informix</title>
	<published>2009-11-20T08:21:25Z</published>
	<updated>2009-11-20T08:21:25Z</updated>
	<author>
		<name>Marc.Boudreau</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;Using Openjpa 1.2.1, I found that String fields annotated with @Column
&lt;br&gt;(length=4000) result in an attempt to create a column with VARCHAR(4000).
&lt;br&gt;But informix limits the size of VARCHAR to 255. &amp;nbsp;The column should use the
&lt;br&gt;LVARCHAR type.
&lt;br&gt;&lt;br&gt;MyEntity.java:
&lt;br&gt;@Entity
&lt;br&gt;public class MyEntity {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; @Id
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; private int id;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; @Basic
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; @Column(length=4000)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; private String description;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; public int getId() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return id;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; public void setId(int value) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; id = value;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; public String getDescription() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return description;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; public void setDescription(String value) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; description = value;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;}}
&lt;br&gt;&lt;br&gt;persistence.xml:
&lt;br&gt;&amp;lt;persistence xmlns=&amp;quot;&lt;a href=&quot;http://java.sun.com/xml/ns/persistence&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; xmlns:xsi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; xsi:schemaLocation=&amp;quot;&lt;a href=&quot;http://java.sun.com/xml/ns/persistence&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; version=&amp;quot;1.0&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;persistence-unit name=&amp;quot;isvi&amp;quot;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;lt;provider&amp;gt;org.apache.openjpa.persistence.PersistenceProviderImpl&amp;lt;/provider&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;class&amp;gt;jpa.test.isvi.MyEntity&amp;lt;/class&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;properties&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.ConnectionDriverName&amp;quot;
&lt;br&gt;value=&amp;quot;com.ibm.db2.jcc.DB2Driver&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.ConnectionUserName&amp;quot; value=&amp;quot;user
&lt;br&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.ConnectionPassword&amp;quot; value=&amp;quot;
&lt;br&gt;password&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.ConnectionURL&amp;quot;
&lt;br&gt;value=&amp;quot;jdbc:informix-sqli://host:port/db&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;property name=&amp;quot;openjpa.jdbc.SynchronizeMappings&amp;quot;
&lt;br&gt;value=&amp;quot;buildSchema(ForeignKeys=true)&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/properties&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/persistence-unit&amp;gt;
&lt;br&gt;&amp;lt;/persistence&amp;gt;
&lt;br&gt;&lt;br&gt;When I run the code and attempt to create the EntityManager object, I get
&lt;br&gt;all of this in the console:
&lt;br&gt;2737 &amp;nbsp;isvi &amp;nbsp;INFO &amp;nbsp; [main] openjpa.Runtime - Starting OpenJPA 1.2.1,
&lt;br&gt;2951 &amp;nbsp;isvi &amp;nbsp;INFO &amp;nbsp; [main] openjpa.jdbc.JDBC - Using dictionary class
&lt;br&gt;&amp;quot;org.apache.openjpa.jdbc.sql.InformixDictionary&amp;quot;.
&lt;br&gt;Exception in thread &amp;quot;main&amp;quot; &amp;lt;openjpa-1.2.1-r752877:753278 nonfatal general
&lt;br&gt;error&amp;gt; org.apache.openjpa.persistence.PersistenceException: IDS SQL Error:
&lt;br&gt;SQLCODE=-650, SQLSTATE=IX000, SQLERRMC=null, DRIVER=3.51.90 {stmnt
&lt;br&gt;809054265 CREATE TABLE MyEntity (id INTEGER NOT NULL, description VARCHAR
&lt;br&gt;(4000), PRIMARY KEY (id)) LOCK MODE ROW} [code=-650, state=IX000]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.meta.MappingTool.record
&lt;br&gt;(MappingTool.java:553)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.meta.MappingTool.record
&lt;br&gt;(MappingTool.java:453)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings
&lt;br&gt;(JDBCBrokerFactory.java:159)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl
&lt;br&gt;(JDBCBrokerFactory.java:119)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker
&lt;br&gt;(AbstractBrokerFactory.java:189))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker
&lt;br&gt;(DelegatingBrokerFactory.java:142)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager
&lt;br&gt;(EntityManagerFactoryImpl.java:192)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager
&lt;br&gt;(EntityManagerFactoryImpl.java:145)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager
&lt;br&gt;(EntityManagerFactoryImpl.java:56))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at jpa.test.isvi.Main.run(Main.java:12)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at jpa.test.isvi.Main.main(Main.java:53)
&lt;br&gt;Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: IDS SQL
&lt;br&gt;Error: SQLCODE=-650, SQLSTATE=IX000, SQLERRMC=null, DRIVER=3.51.90 {stmnt
&lt;br&gt;809054265 CREATE TABLE MyEntity (id INTEGER NOT NULL, description VARCHAR
&lt;br&gt;(4000), PRIMARY KEY (id)) LOCK MODE ROW} [code=-650, state=IX000]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap
&lt;br&gt;(LoggingConnectionDecorator.java:192)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$700
&lt;br&gt;(LoggingConnectionDecorator.java:57),
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator
&lt;br&gt;$LoggingConnection$LoggingStatement.executeUpdate
&lt;br&gt;(LoggingConnectionDecorator.java:762)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.DelegatingStatement.executeUpdate
&lt;br&gt;(DelegatingStatement.java:114)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.schema.SchemaTool.executeSQL
&lt;br&gt;(SchemaTool.java:1191)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.schema.SchemaTool.createTable
&lt;br&gt;(SchemaTool.java:949)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:526)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:344)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:321)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.meta.MappingTool.record
&lt;br&gt;(MappingTool.java:501):
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ... 10 more
&lt;br&gt;&lt;br&gt;As you can see the column definition for description is invalid. &amp;nbsp;If I
&lt;br&gt;reduce the length of the column 255, everything is OK. &amp;nbsp;I cannot use a @Lob
&lt;br&gt;annotation because this column needs to be searchable. &amp;nbsp;Should this be
&lt;br&gt;logged as a bug?
&lt;br&gt;&lt;br&gt;Marc Boudreau
&lt;br&gt;Software Developer
&lt;br&gt;IBM Cognos Content Manager
&lt;br&gt;&lt;a href=&quot;http://n2.nabble.com/user/SendEmail.jtp?type=node&amp;node=4038821&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[hidden email]&lt;/a&gt;
&lt;br&gt;Phone: 613-356-6412</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/Long-strings-are-improperly-mapped-on-Informix-tp4038821p4038821.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4031846</id>
	<title>[jira] Created: (OPENJPA-1397) NULL in columns part of an @IdClass composite key leads to &quot;disappearing&quot; (null) returned objects</title>
	<published>2009-11-19T05:44:39Z</published>
	<updated>2009-11-19T05:44:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">NULL in columns part of an @IdClass composite key leads to &amp;quot;disappearing&amp;quot; (null) returned objects
&lt;br&gt;-------------------------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: OPENJPA-1397
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1397&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1397&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: OpenJPA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: jdbc, kernel
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.0.0-M3, 1.2.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Michael Vorburger
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Attachments: openJPA_NullId.zip
&lt;br&gt;&lt;br&gt;As discussed on &lt;a href=&quot;http://openjpa.markmail.org/search/?q=#query:list%3Aorg.apache.openjpa.users+page:1+mid:yua5kf7vd5m7wrnw+state:results&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openjpa.markmail.org/search/?q=#query:list%3Aorg.apache.openjpa.users+page:1+mid:yua5kf7vd5m7wrnw+state:results&lt;/a&gt;, there is a bug in OpenJPA iff ... &amp;quot;any @Id field of a composite key mapped via an @IdClass identity is NULL&amp;quot; (enough keywords to allow future searching? ;).
&lt;br&gt;&lt;br&gt;The attached test case provides running code illustrating this with two simple entities and a failing JUnit.
&lt;br&gt;&lt;br&gt;While relational database do NOT appear to allow NULL value for columns which are part of a PRIMARY KEY CONSTRAINT, this kind of situation and mapping can (and in our case has!) occurred when mapping to legacy schemas with tables where a certain number / subset of columns are in fact the &amp;quot;logical&amp;quot; identifying set, without there being a physical PK constraint (nothing says you HAVE to have a physical PK). -- Both JPA Spec and OpenJPA doc make no statement if this is supposed to work or not work, they say nothing about this (as far as I could see; I checked before filing this; and nobody on the list made any statements re. this). It would be interesting to know if and how other JPA implementations handle this.
&lt;br&gt;&lt;br&gt;Assuming this is a small internal implementation bug and not a conceptual / design issue (note it's NOT the @IdClass instance that is null, it's only some fields within an Id, with others being available; and uniqueness of the combination guaranteed by data in DB of course!), it would be great if this could be make to work as one would naturally expect. (Or, at the very least, OpenJPA should fail and issue a clear error message, instead of just returning null; fix much better though.)
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1397-NULL-in-columns-part-of-an-IdClass-composite-key-leads-to-disappearing-nuls-tp4031846p4031846.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4031845</id>
	<title>[jira] Updated: (OPENJPA-1397) NULL in columns part of an @IdClass composite key leads to &quot;disappearing&quot; (null) returned objects</title>
	<published>2009-11-19T05:44:39Z</published>
	<updated>2009-11-19T05:44:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Michael Vorburger updated OPENJPA-1397:
&lt;br&gt;---------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Attachment: openJPA_NullId.zip
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; NULL in columns part of an @IdClass composite key leads to &amp;quot;disappearing&amp;quot; (null) returned objects
&lt;br&gt;&amp;gt; -------------------------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: OPENJPA-1397
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1397&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1397&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: OpenJPA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: jdbc, kernel
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 1.2.1, 2.0.0-M3
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Michael Vorburger
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Attachments: openJPA_NullId.zip
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; As discussed on &lt;a href=&quot;http://openjpa.markmail.org/search/?q=#query:list%3Aorg.apache.openjpa.users+page:1+mid:yua5kf7vd5m7wrnw+state:results&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openjpa.markmail.org/search/?q=#query:list%3Aorg.apache.openjpa.users+page:1+mid:yua5kf7vd5m7wrnw+state:results&lt;/a&gt;, there is a bug in OpenJPA iff ... &amp;quot;any @Id field of a composite key mapped via an @IdClass identity is NULL&amp;quot; (enough keywords to allow future searching? ;).
&lt;br&gt;&amp;gt; The attached test case provides running code illustrating this with two simple entities and a failing JUnit.
&lt;br&gt;&amp;gt; While relational database do NOT appear to allow NULL value for columns which are part of a PRIMARY KEY CONSTRAINT, this kind of situation and mapping can (and in our case has!) occurred when mapping to legacy schemas with tables where a certain number / subset of columns are in fact the &amp;quot;logical&amp;quot; identifying set, without there being a physical PK constraint (nothing says you HAVE to have a physical PK). -- Both JPA Spec and OpenJPA doc make no statement if this is supposed to work or not work, they say nothing about this (as far as I could see; I checked before filing this; and nobody on the list made any statements re. this). It would be interesting to know if and how other JPA implementations handle this.
&lt;br&gt;&amp;gt; Assuming this is a small internal implementation bug and not a conceptual / design issue (note it's NOT the @IdClass instance that is null, it's only some fields within an Id, with others being available; and uniqueness of the combination guaranteed by data in DB of course!), it would be great if this could be make to work as one would naturally expect. (Or, at the very least, OpenJPA should fail and issue a clear error message, instead of just returning null; fix much better though.)
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1397-NULL-in-columns-part-of-an-IdClass-composite-key-leads-to-disappearing-nuls-tp4031846p4031845.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-4031846"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4032362</id>
	<title>[jira] Resolved: (OPENJPA-1396) metadata-complete in the orm file does not override @Transition annotation</title>
	<published>2009-11-19T07:15:39Z</published>
	<updated>2009-11-19T07:15:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1396?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1396?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Fay Wang resolved OPENJPA-1396.
&lt;br&gt;-------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Resolution: Fixed
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; metadata-complete in the orm file does not override @Transition annotation 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: OPENJPA-1396
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1396&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1396&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: OpenJPA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: jpa
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 2.0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Fay Wang
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Fay Wang
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 2.0.0
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In the orm.xml:
&lt;br&gt;&amp;gt; 	&amp;lt;embeddable class=&amp;quot;embeddable.Address&amp;quot; metadata-complete=&amp;quot;true&amp;quot;/
&lt;br&gt;&amp;gt; where embeddable.Address is defined as:
&lt;br&gt;&amp;gt; @Embeddable
&lt;br&gt;&amp;gt; public class Address {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; @Transient
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; protected String street;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; protected String city;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; protected String state;
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; According to the spec (12.2.5.1): &amp;quot;If the metadata-complete attribute of the embeddable element is specified as true, any annotations on the embeddable class (and its fields and properties) are ignored. When metadata-complete is specified as true and attributes and sub-elements of the embeddable element are omitted, the default values for those attributes and elements are applied.&amp;quot;. However, the value of the street field in the Address class is not persistent. &amp;nbsp;
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1396-metadata-complete-in-the-orm-file-does-not-override-Transition-annotation-tp4030273p4032362.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-4030273"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4030273</id>
	<title>[jira] Created: (OPENJPA-1396) metadata-complete in the orm file does not override @Transition annotation</title>
	<published>2009-11-18T22:00:40Z</published>
	<updated>2009-11-18T22:00:40Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">metadata-complete in the orm file does not override @Transition annotation 
&lt;br&gt;---------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: OPENJPA-1396
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1396&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1396&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: OpenJPA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: jpa
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.0.0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Fay Wang
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Fay Wang
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: 2.0.0
&lt;br&gt;&lt;br&gt;&lt;br&gt;In the orm.xml:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;embeddable class=&amp;quot;embeddable.Address&amp;quot; metadata-complete=&amp;quot;true&amp;quot;/
&lt;br&gt;&lt;br&gt;where embeddable.Address is defined as:
&lt;br&gt;&lt;br&gt;@Embeddable
&lt;br&gt;public class Address {
&lt;br&gt;&amp;nbsp; &amp;nbsp; @Transient
&lt;br&gt;&amp;nbsp; &amp;nbsp; protected String street;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; protected String city;
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; protected String state;
&lt;br&gt;...
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;According to the spec (12.2.5.1): &amp;quot;If the metadata-complete attribute of the embeddable element is specified as true, any annotations on the embeddable class (and its fields and properties) are ignored. When metadata-complete is specified as true and attributes and sub-elements of the embeddable element are omitted, the default values for those attributes and elements are applied.&amp;quot;. However, the value of the street field in the Address class is not persistent. &amp;nbsp;
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1396-metadata-complete-in-the-orm-file-does-not-override-Transition-annotation-tp4030273p4030273.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4029116</id>
	<title>[jira] Created: (OPENJPA-1395) MappingTool attempts to create table in Oracle even when the table already exist</title>
	<published>2009-11-18T15:41:39Z</published>
	<updated>2009-11-18T15:41:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">MappingTool attempts to create table in Oracle even when the table already exist
&lt;br&gt;--------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: OPENJPA-1395
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1395&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1395&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: OpenJPA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: tooling
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.0.0-M3, 2.0.0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Albert Lee
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: 2.0.0
&lt;br&gt;&lt;br&gt;&lt;br&gt;When SynchronizedMapping property is used, MappingTool attempts to create table in Oracle even when the table already exist. When it happens, the following exception is thrown.
&lt;br&gt;&lt;br&gt;2203 &amp;nbsp;test &amp;nbsp;TRACE &amp;nbsp;[main] openjpa.jdbc.SQL - &amp;lt;t 1183336072, conn 1912762882&amp;gt; executing prepstmnt 1956607135 SELECT SEQUENCE_OWNER AS SEQUENCE_SCHEMA, SEQUENCE_NAME FROM ALL_SEQUENCES
&lt;br&gt;2203 &amp;nbsp;test &amp;nbsp;TRACE &amp;nbsp;[main] openjpa.jdbc.SQL - &amp;lt;t 1183336072, conn 1912762882&amp;gt; [0 ms] spent
&lt;br&gt;2422 &amp;nbsp;test &amp;nbsp;TRACE &amp;nbsp;[main] openjpa.jdbc.SQL - &amp;lt;t 1183336072, conn 1594646284&amp;gt; executing stmnt 651896539 CREATE TABLE Department (id NUMBER NOT NULL, name VARCHAR2(255), PRIMARY KEY (id))
&lt;br&gt;2437 &amp;nbsp;test &amp;nbsp;TRACE &amp;nbsp;[main] openjpa.jdbc.SQL - &amp;lt;t 1183336072, conn 1594646284&amp;gt; [15 ms] spent
&lt;br&gt;&amp;lt;openjpa-2.0.0-SNAPSHOT-r422266:881772M nonfatal general error&amp;gt; org.apache.openjpa.persistence.PersistenceException: ORA-00955: name is already used by an existing object
&lt;br&gt;&amp;nbsp;{stmnt 651896539 CREATE TABLE Department (id NUMBER NOT NULL, name VARCHAR2(255), PRIMARY KEY (id))} [code=955, state=42000]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:553)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:453)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:155)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:159)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:117)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:202)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:152)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:200)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:151)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.persistence.lockmgr.TestPessimisticLocks.setUp(TestPessimisticLocks.java:45)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at junit.framework.TestCase.runBare(TestCase.java:125)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.runBare(AbstractPersistenceTestCase.java:501)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.runBare(AbstractPersistenceTestCase.java:477)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at junit.framework.TestResult$1.protect(TestResult.java:106)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at junit.framework.TestResult.runProtected(TestResult.java:124)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at junit.framework.TestResult.run(TestResult.java:109)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at junit.framework.TestCase.run(TestCase.java:118)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.persistence.test.AbstractPersistenceTestCase.run(AbstractPersistenceTestCase.java:177)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
&lt;br&gt;Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: ORA-00955: name is already used by an existing object
&lt;br&gt;&amp;nbsp;{stmnt 651896539 CREATE TABLE Department (id NUMBER NOT NULL, name VARCHAR2(255), PRIMARY KEY (id))} [code=955, state=42000]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:254)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$3(LoggingConnectionDecorator.java:251)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingStatement.executeUpdate(LoggingConnectionDecorator.java:944)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.lib.jdbc.DelegatingStatement.executeUpdate(DelegatingStatement.java:136)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.schema.SchemaTool.executeSQL(SchemaTool.java:1202)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.schema.SchemaTool.createTable(SchemaTool.java:960)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:537)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:345)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:322)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:501)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ... 23 more
&lt;br&gt;&lt;br&gt;If the tables are manually drop, the create table works fine.
&lt;br&gt;&lt;br&gt;Albert Lee.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1395-MappingTool-attempts-to-create-table-in-Oracle-even-when-the-table-alreadyt-tp4029116p4029116.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4028283</id>
	<title>Draft proposal for a JSR-303 Bean Validation incubator podling</title>
	<published>2009-11-18T13:02:13Z</published>
	<updated>2009-11-18T13:02:13Z</updated>
	<author>
		<name>DWoods</name>
	</author>
	<content type="html">We have an initial draft proposal to create a JSR-303 Bean Validation 
&lt;br&gt;implementation at Apache as an incubator podling.
&lt;br&gt;&lt;br&gt;Take a look at the proposal [1] and feel free to ask questions about it 
&lt;br&gt;on the dev@commons list and volunteer to be an initial committer if you 
&lt;br&gt;have time and interests in bean validation....
&lt;br&gt;&lt;br&gt;[1] &lt;a href=&quot;http://wiki.apache.org/incubator/ValidationProposal&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.apache.org/incubator/ValidationProposal&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Donald
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/Draft-proposal-for-a-JSR-303-Bean-Validation-incubator-podling-tp4028283p4028283.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4035148</id>
	<title>[jira] Resolved: (OPENJPA-1394) Pessimistic Lock not honour when ORDER BY clause is used</title>
	<published>2009-11-19T15:39:39Z</published>
	<updated>2009-11-19T15:39:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Albert Lee resolved OPENJPA-1394.
&lt;br&gt;---------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Resolution: Fixed
&lt;br&gt;&amp;nbsp; &amp;nbsp; Fix Version/s: 2.0.0
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Pessimistic Lock not honour when ORDER BY clause is used
&lt;br&gt;&amp;gt; --------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: OPENJPA-1394
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1394&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1394&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: OpenJPA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: query
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 2.0.0-M3, 2.0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Albert Lee
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Albert Lee
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 2.0.0
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; query = em.createQuery(
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;quot;select e.department from Employee e where e.id &amp;lt; 10 order by e.department.id&amp;quot;).setFirstResult(3);
&lt;br&gt;&amp;gt; &amp;nbsp; query.setLockMode(LockModeType.PESSIMISTIC_READ);
&lt;br&gt;&amp;gt; &amp;nbsp; q = query.getResultList();
&lt;br&gt;&amp;gt; yields the following SQL statement but with no lock on the Employee row:
&lt;br&gt;&amp;gt; openjpa.Runtime: Info: The database is unable to lock this query. &amp;nbsp;Each object matching the query will be locked individually after it is loaded; however, it is technically possible that another transaction could modify the data before the lock is obtained. &amp;nbsp;See the documentation on Object Locking for details.
&lt;br&gt;&amp;gt; &amp;quot;SELECT t1.ID, t1.NAME, t0.FK_DEPT FROM CTS1.EMPLOYEE t0 LEFT OUTER JOIN CTS1.DEPARTMENT t1 ON t0.FK_DEPT = t1.ID WHERE (t0.ID &amp;lt; CAST(? AS BIGINT)) ORDER BY t0.FK_DEPT ASC &amp;quot; 
&lt;br&gt;&amp;gt; openjpa.jdbc.SQL: Trace: &amp;lt;t 2035185998, conn 1784113751&amp;gt; executing prepstmnt 1845128698 SELECT t1.ID, t1.NAME, t0.FK_DEPT FROM CTS1.EMPLOYEE t0 LEFT OUTER JOIN CTS1.DEPARTMENT t1 ON t0.FK_DEPT = t1.ID WHERE (t0.ID &amp;lt; CAST(? AS BIGINT)) ORDER BY t0.FK_DEPT ASC &amp;nbsp;[params=(long) 10]
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1394-Pessimistic-Lock-not-honour-when-ORDER-BY-clause-is-used-tp4026257p4035148.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-4026257"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4035147</id>
	<title>[jira] Closed: (OPENJPA-1394) Pessimistic Lock not honour when ORDER BY clause is used</title>
	<published>2009-11-19T15:39:39Z</published>
	<updated>2009-11-19T15:39:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Albert Lee closed OPENJPA-1394.
&lt;br&gt;-------------------------------
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Pessimistic Lock not honour when ORDER BY clause is used
&lt;br&gt;&amp;gt; --------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: OPENJPA-1394
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1394&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1394&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: OpenJPA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: query
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 2.0.0-M3, 2.0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Albert Lee
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Albert Lee
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 2.0.0
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; query = em.createQuery(
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;quot;select e.department from Employee e where e.id &amp;lt; 10 order by e.department.id&amp;quot;).setFirstResult(3);
&lt;br&gt;&amp;gt; &amp;nbsp; query.setLockMode(LockModeType.PESSIMISTIC_READ);
&lt;br&gt;&amp;gt; &amp;nbsp; q = query.getResultList();
&lt;br&gt;&amp;gt; yields the following SQL statement but with no lock on the Employee row:
&lt;br&gt;&amp;gt; openjpa.Runtime: Info: The database is unable to lock this query. &amp;nbsp;Each object matching the query will be locked individually after it is loaded; however, it is technically possible that another transaction could modify the data before the lock is obtained. &amp;nbsp;See the documentation on Object Locking for details.
&lt;br&gt;&amp;gt; &amp;quot;SELECT t1.ID, t1.NAME, t0.FK_DEPT FROM CTS1.EMPLOYEE t0 LEFT OUTER JOIN CTS1.DEPARTMENT t1 ON t0.FK_DEPT = t1.ID WHERE (t0.ID &amp;lt; CAST(? AS BIGINT)) ORDER BY t0.FK_DEPT ASC &amp;quot; 
&lt;br&gt;&amp;gt; openjpa.jdbc.SQL: Trace: &amp;lt;t 2035185998, conn 1784113751&amp;gt; executing prepstmnt 1845128698 SELECT t1.ID, t1.NAME, t0.FK_DEPT FROM CTS1.EMPLOYEE t0 LEFT OUTER JOIN CTS1.DEPARTMENT t1 ON t0.FK_DEPT = t1.ID WHERE (t0.ID &amp;lt; CAST(? AS BIGINT)) ORDER BY t0.FK_DEPT ASC &amp;nbsp;[params=(long) 10]
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1394-Pessimistic-Lock-not-honour-when-ORDER-BY-clause-is-used-tp4026257p4035147.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-4026257"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4026257</id>
	<title>[jira] Created: (OPENJPA-1394) Pessimistic Lock not honour when ORDER BY clause is used</title>
	<published>2009-11-18T07:38:39Z</published>
	<updated>2009-11-18T07:38:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">Pessimistic Lock not honour when ORDER BY clause is used
&lt;br&gt;--------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: OPENJPA-1394
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1394&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1394&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: OpenJPA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: query
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.0.0-M3, 2.0.0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Albert Lee
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Albert Lee
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; query = em.createQuery(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;quot;select e.department from Employee e where e.id &amp;lt; 10 order by e.department.id&amp;quot;).setFirstResult(3);
&lt;br&gt;&amp;nbsp; query.setLockMode(LockModeType.PESSIMISTIC_READ);
&lt;br&gt;&amp;nbsp; q = query.getResultList();
&lt;br&gt;&lt;br&gt;yields the following SQL statement but with no lock on the Employee row:
&lt;br&gt;&lt;br&gt;openjpa.Runtime: Info: The database is unable to lock this query. &amp;nbsp;Each object matching the query will be locked individually after it is loaded; however, it is technically possible that another transaction could modify the data before the lock is obtained. &amp;nbsp;See the documentation on Object Locking for details.
&lt;br&gt;&amp;quot;SELECT t1.ID, t1.NAME, t0.FK_DEPT FROM CTS1.EMPLOYEE t0 LEFT OUTER JOIN CTS1.DEPARTMENT t1 ON t0.FK_DEPT = t1.ID WHERE (t0.ID &amp;lt; CAST(? AS BIGINT)) ORDER BY t0.FK_DEPT ASC &amp;quot; 
&lt;br&gt;openjpa.jdbc.SQL: Trace: &amp;lt;t 2035185998, conn 1784113751&amp;gt; executing prepstmnt 1845128698 SELECT t1.ID, t1.NAME, t0.FK_DEPT FROM CTS1.EMPLOYEE t0 LEFT OUTER JOIN CTS1.DEPARTMENT t1 ON t0.FK_DEPT = t1.ID WHERE (t0.ID &amp;lt; CAST(? AS BIGINT)) ORDER BY t0.FK_DEPT ASC &amp;nbsp;[params=(long) 10]
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1394-Pessimistic-Lock-not-honour-when-ORDER-BY-clause-is-used-tp4026257p4026257.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4022288</id>
	<title>[jira] Created: (OPENJPA-1393) CriteriaBuilder.countDistinct() does not return correct result</title>
	<published>2009-11-17T16:21:39Z</published>
	<updated>2009-11-17T16:21:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">CriteriaBuilder.countDistinct() does not return correct result
&lt;br&gt;--------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: OPENJPA-1393
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1393&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1393&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: OpenJPA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: jpa
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.0.0-M3
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Pinaki Poddar
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Pinaki Poddar
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: 2.0.0-M4
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1393-CriteriaBuilder-countDistinct-does-not-return-correct-result-tp4022288p4022288.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4022281</id>
	<title>[jira] Created: (OPENJPA-1392) CriteriaBuilder.size() must return Integer as value</title>
	<published>2009-11-17T16:19:39Z</published>
	<updated>2009-11-17T16:19:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">CriteriaBuilder.size() must return Integer as value
&lt;br&gt;---------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: OPENJPA-1392
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1392&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1392&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: OpenJPA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: jpa
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.0.0-M3
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Pinaki Poddar
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Pinaki Poddar
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: 2.0.0-M4
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1392-CriteriaBuilder-size-must-return-Integer-as-value-tp4022281p4022281.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4021163</id>
	<title>[jira] Created: (OPENJPA-1391) Handle generic/unspecified  type arguments for persistent fields during metamodel generation</title>
	<published>2009-11-17T12:44:39Z</published>
	<updated>2009-11-17T12:44:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">Handle generic/unspecified &amp;nbsp;type arguments for persistent fields during metamodel generation
&lt;br&gt;--------------------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: OPENJPA-1391
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1391&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1391&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: OpenJPA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: jpa
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.0.0-M3
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Pinaki Poddar
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Pinaki Poddar
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: 2.0.0-M4
&lt;br&gt;&lt;br&gt;&lt;br&gt;NPE thrown when metamodel generator encounters a untyped or wildcard type parameter in a collection-valued field
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1391-Handle-generic-unspecified-type-arguments-for-persistent-fields-during-metn-tp4021163p4021163.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4020229</id>
	<title>[jira] Created: (OPENJPA-1390) Criteria API untyped join(String attr) implies any attribute not a singular attribute</title>
	<published>2009-11-17T10:07:39Z</published>
	<updated>2009-11-17T10:07:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">Criteria API untyped join(String attr) implies any attribute not a singular attribute
&lt;br&gt;-------------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: OPENJPA-1390
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1390&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1390&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: OpenJPA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: jpa
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.0.0-M3
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Pinaki Poddar
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Pinaki Poddar
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: 2.0.0-M4
&lt;br&gt;&lt;br&gt;&lt;br&gt;Untyped From.join(String attr) is unlike typed From.join() because the given attr in untyped version can be of any attribute type and not necessarily a singular attribute. 
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1390-Criteria-API-untyped-join-String-attr-implies-any-attribute-not-a-singulare-tp4020229p4020229.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4017641</id>
	<title>[jira] Created: (OPENJPA-1389) Bad DELETE query generation with HsqlDB</title>
	<published>2009-11-17T02:06:39Z</published>
	<updated>2009-11-17T02:06:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">Bad DELETE query generation with HsqlDB
&lt;br&gt;---------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: OPENJPA-1389
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1389&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1389&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: OpenJPA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.0.0-M3, 1.2.1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Environment: Windows XP, Java 1.6, HsqlDB 1.9.0-rc4, OpenJPA 1.2.1 and 2.0.0-M3
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Fabien Charlet
&lt;br&gt;&lt;br&gt;&lt;br&gt;I use an object Log, mapped with a table LOG in HsqlDB.
&lt;br&gt;&lt;br&gt;When I try to execute a &amp;quot;DELETE FROM Log&amp;quot; query, I have an error
&lt;br&gt;with the SQL code generated :
&lt;br&gt;&lt;br&gt;782 &amp;nbsp;openjpa &amp;nbsp;TRACE &amp;nbsp;[main] openjpa.Query - Executing query: [DELETE
&lt;br&gt;FROM Log l WHERE l.application = :application AND l.logDate &amp;lt; :aDate]
&lt;br&gt;with parameters: {application=Isis, aDate=Tue Nov 17 10:12:26 CET
&lt;br&gt;2009}
&lt;br&gt;[KO] SimpleLogDAO.purgeLogs( Application@45d8241 Isis, Date@16a1227
&lt;br&gt;Tue Nov 17 10:12:26 CET 2009 ) returned ReportingSQLException:
&lt;br&gt;unexpected token: T0 {DELETE FROM LOG t0 WHERE (t0.APPLICATION_ID = ?
&lt;br&gt;AND t0.LOG_DATE &amp;lt; ?)} [code=-5581, state=42581]
&lt;br&gt;3782 &amp;nbsp;openjpa &amp;nbsp;TRACE &amp;nbsp;[main] openjpa.jdbc.JDBC - &amp;lt;t 914454, conn
&lt;br&gt;12437155&amp;gt; [0 ms] rollback
&lt;br&gt;3782 &amp;nbsp;openjpa &amp;nbsp;TRACE &amp;nbsp;[main] openjpa.jdbc.JDBC - &amp;lt;t 914454, conn
&lt;br&gt;12437155&amp;gt; [0 ms] close
&lt;br&gt;&lt;br&gt;It seems that this HQL query generate &amp;quot;DELETE FROM LOG t0&amp;quot; but HsqlDB
&lt;br&gt;doesn't suport a token after the table name in the delete statement.
&lt;br&gt;&lt;br&gt;Did I miss something ?
&lt;br&gt;&lt;br&gt;I use this mapping :
&lt;br&gt;&lt;br&gt;@Entity
&lt;br&gt;@Table(name=&amp;quot;LOG&amp;quot;)
&lt;br&gt;public class Log implements RestrictedObject, ICrudEntity {
&lt;br&gt;&lt;br&gt;&amp;nbsp; @Id
&lt;br&gt;&amp;nbsp; @GeneratedValue(strategy=GenerationType.IDENTITY)
&lt;br&gt;&amp;nbsp; private long id;
&lt;br&gt;&lt;br&gt;&amp;nbsp; @Column(name=&amp;quot;VERSION&amp;quot;)
&lt;br&gt;&amp;nbsp; @Version
&lt;br&gt;&amp;nbsp; private int version;
&lt;br&gt;&lt;br&gt;&amp;nbsp; @Column(name=&amp;quot;USER&amp;quot;)
&lt;br&gt;&amp;nbsp; private String user;
&lt;br&gt;&lt;br&gt;&amp;nbsp; @OneToOne(fetch=FetchType.LAZY)
&lt;br&gt;&amp;nbsp; @JoinColumn(name=&amp;quot;APPLICATION_ID&amp;quot;, referencedColumnName=&amp;quot;ID&amp;quot;)
&lt;br&gt;&amp;nbsp; private Application application;
&lt;br&gt;&lt;br&gt;&amp;nbsp; @Column(name=&amp;quot;APPLICATION_VERSION&amp;quot;)
&lt;br&gt;&amp;nbsp; private String applicationVersion;
&lt;br&gt;&lt;br&gt;&amp;nbsp; @Column(name=&amp;quot;NETWORK_INFORMATION&amp;quot;)
&lt;br&gt;&amp;nbsp; private String networkInformation;
&lt;br&gt;&lt;br&gt;&amp;nbsp; @Column(name=&amp;quot;MESSAGE&amp;quot;)
&lt;br&gt;&lt;br&gt;&amp;nbsp; private String message;
&lt;br&gt;&lt;br&gt;&amp;nbsp; @Column(name=&amp;quot;LOG_DATE&amp;quot;)
&lt;br&gt;&amp;nbsp; private Date logDate;
&lt;br&gt;&lt;br&gt;&amp;nbsp; @OneToOne(fetch=FetchType.LAZY)
&lt;br&gt;&amp;nbsp; @JoinColumn(name=&amp;quot;CATEGORY_ID&amp;quot;, referencedColumnName=&amp;quot;ID&amp;quot;)
&lt;br&gt;&amp;nbsp; private Category category;
&lt;br&gt;&lt;br&gt;&amp;nbsp; @Transient
&lt;br&gt;&amp;nbsp; private List&amp;lt;File&amp;gt; datas = new ArrayList&amp;lt;File&amp;gt;();
&lt;br&gt;&lt;br&gt;....
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;And I create the table in HsqlDB with this query :
&lt;br&gt;&lt;br&gt;statement.executeUpdate(&amp;quot;CREATE TABLE LOG ( ID BIGINT GENERATED BY
&lt;br&gt;DEFAULT AS IDENTITY(START WITH 1) PRIMARY KEY, &amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;VERSION INT,&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;USER VARCHAR(20),&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;APPLICATION_ID BIGINT,&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;APPLICATION_VERSION VARCHAR(20),&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;NETWORK_INFORMATION VARCHAR(40),&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;MESSAGE VARCHAR(1000),&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;LOG_DATE TIMESTAMP,&amp;quot; +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;CATEGORY_ID BIGINT)&amp;quot;); 
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1389-Bad-DELETE-query-generation-with-HsqlDB-tp4017641p4017641.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4027816</id>
	<title>[jira] Updated: (OPENJPA-1388) JPQL named parameter using a reserved word resulting in ArgumentException</title>
	<published>2009-11-18T11:36:39Z</published>
	<updated>2009-11-18T11:36:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Catalina Wei updated OPENJPA-1388:
&lt;br&gt;----------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Version/s: &amp;nbsp; &amp;nbsp; (was: 2.0.0)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1.3.0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Summary: JPQL named parameter using a reserved word resulting in ArgumentException &amp;nbsp;(was: JPQL named parameter using a reserved word (:vlaue) resulting in ArgumentException)
&lt;br&gt;&lt;br&gt;Same fix applied to 1.3 branch
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; JPQL named parameter using a reserved word resulting in ArgumentException
&lt;br&gt;&amp;gt; -------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: OPENJPA-1388
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1388&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1388&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: OpenJPA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: query
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 1.3.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Catalina Wei
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Catalina Wei
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 2.0.0
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In JPA2, additional reserved words are introduced in the JPQL language. For example, &amp;nbsp;KEY, VALUE, ENTRY, CASE, etc.
&lt;br&gt;&amp;gt; These keywords is causing existing application that migrate to JPA2 regressed in ArgumentException (JPQL parser error).
&lt;br&gt;&amp;gt; For example,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;JPQL: &amp;nbsp;select c from Customer c where c.name = :value
&lt;br&gt;&amp;gt; :value is a named parameter, but 'value' is a reserved word in JPA2.
&lt;br&gt;&amp;gt; The above query used to work in OpenJPA-1.2.x but not in OpenJPA-2.x
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1388-JPQL-named-parameter-using-a-reserved-word-vlaue-resulting-in-ArgumentExcen-tp4013667p4027816.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-4013667"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4022101</id>
	<title>[jira] Resolved: (OPENJPA-1388) JPQL named parameter using a reserved word (:vlaue) resulting in ArgumentException</title>
	<published>2009-11-17T15:36:39Z</published>
	<updated>2009-11-17T15:36:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1388?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Catalina Wei resolved OPENJPA-1388.
&lt;br&gt;-----------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Resolution: Fixed
&lt;br&gt;&amp;nbsp; &amp;nbsp; Fix Version/s: 2.0.0
&lt;br&gt;&lt;br&gt;Using reserved words as named parameter is allowed in JPQL query.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; JPQL named parameter using a reserved word (:vlaue) resulting in ArgumentException
&lt;br&gt;&amp;gt; ----------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: OPENJPA-1388
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1388&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1388&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: OpenJPA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: query
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 2.0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Catalina Wei
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Catalina Wei
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 2.0.0
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In JPA2, additional reserved words are introduced in the JPQL language. For example, &amp;nbsp;KEY, VALUE, ENTRY, CASE, etc.
&lt;br&gt;&amp;gt; These keywords is causing existing application that migrate to JPA2 regressed in ArgumentException (JPQL parser error).
&lt;br&gt;&amp;gt; For example,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;JPQL: &amp;nbsp;select c from Customer c where c.name = :value
&lt;br&gt;&amp;gt; :value is a named parameter, but 'value' is a reserved word in JPA2.
&lt;br&gt;&amp;gt; The above query used to work in OpenJPA-1.2.x but not in OpenJPA-2.x
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1388-JPQL-named-parameter-using-a-reserved-word-vlaue-resulting-in-ArgumentExcen-tp4013667p4022101.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-4013667"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4013667</id>
	<title>[jira] Created: (OPENJPA-1388) JPQL named parameter using a reserved word (:vlaue) resulting in ArgumentException</title>
	<published>2009-11-16T10:15:39Z</published>
	<updated>2009-11-16T10:15:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">JPQL named parameter using a reserved word (:vlaue) resulting in ArgumentException
&lt;br&gt;----------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: OPENJPA-1388
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1388&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1388&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: OpenJPA
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: query
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: 2.0.0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Catalina Wei
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Assignee: Catalina Wei
&lt;br&gt;&lt;br&gt;&lt;br&gt;In JPA2, additional reserved words are introduced in the JPQL language. For example, &amp;nbsp;KEY, VALUE, ENTRY, CASE, etc.
&lt;br&gt;These keywords is causing existing application that migrate to JPA2 regressed in ArgumentException (JPQL parser error).
&lt;br&gt;For example,
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;JPQL: &amp;nbsp;select c from Customer c where c.name = :value
&lt;br&gt;&lt;br&gt;:value is a named parameter, but 'value' is a reserved word in JPA2.
&lt;br&gt;&lt;br&gt;The above query used to work in OpenJPA-1.2.x but not in OpenJPA-2.x
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1388-JPQL-named-parameter-using-a-reserved-word-vlaue-resulting-in-ArgumentExcen-tp4013667p4013667.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4014082</id>
	<title>Re: svn commit: r880689 - Build break</title>
	<published>2009-11-16T07:50:59Z</published>
	<updated>2009-11-16T07:50:59Z</updated>
	<author>
		<name>Pinaki Poddar-3</name>
	</author>
	<content type="html">Looking at it right now... will fix
&lt;br&gt;&lt;br&gt;Regards --
&lt;br&gt;&lt;br&gt;Pinaki 
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Donald Woods &amp;lt;&lt;a href=&quot;http://n2.nabble.com/user/SendEmail.jtp?type=node&amp;node=4014082&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[hidden email]&lt;/a&gt;&amp;gt; 
&lt;br&gt;11/16/2009 07:13 AM
&lt;br&gt;&lt;br&gt;To
&lt;br&gt;&lt;a href=&quot;http://n2.nabble.com/user/SendEmail.jtp?type=node&amp;node=4014082&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[hidden email]&lt;/a&gt;, Pinaki Poddar &amp;lt;&lt;a href=&quot;http://n2.nabble.com/user/SendEmail.jtp?type=node&amp;node=4014082&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[hidden email]&lt;/a&gt;&amp;gt;
&lt;br&gt;cc
&lt;br&gt;&lt;br&gt;Subject
&lt;br&gt;Re: svn commit: r880689 - Build break
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Pinaki, it looks like the below changes are causing a compile failure -
&lt;br&gt;&lt;br&gt;&lt;br&gt;[INFO] Compiling 343 source files to 
&lt;br&gt;/Users/drwoods/openjpa/trunk/openjpa-jdbc/target/classes
&lt;br&gt;[INFO] 
&lt;br&gt;------------------------------------------------------------------------
&lt;br&gt;[ERROR] BUILD FAILURE
&lt;br&gt;[INFO] 
&lt;br&gt;------------------------------------------------------------------------
&lt;br&gt;[INFO] Compilation failure
&lt;br&gt;&lt;br&gt;/Users/drwoods/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingDefaultsImpl.java:[542,17] 
&lt;br&gt;&lt;br&gt;cannot find symbol
&lt;br&gt;symbol &amp;nbsp;: method addSubColumn(java.lang.String)
&lt;br&gt;location: class org.apache.openjpa.jdbc.schema.Table
&lt;br&gt;&lt;br&gt;/Users/drwoods/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingDefaultsImpl.java:[544,13] 
&lt;br&gt;&lt;br&gt;cannot find symbol
&lt;br&gt;symbol &amp;nbsp;: method resetSubColumns()
&lt;br&gt;location: class org.apache.openjpa.jdbc.schema.Table
&lt;br&gt;&lt;br&gt;&lt;br&gt;-Donald
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://n2.nabble.com/user/SendEmail.jtp?type=node&amp;node=4014082&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[hidden email]&lt;/a&gt; wrote:
&lt;br&gt;&amp;gt; Author: ppoddar
&lt;br&gt;&amp;gt; Date: Mon Nov 16 09:33:29 2009
&lt;br&gt;&amp;gt; New Revision: 880689
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=880689&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=880689&amp;view=rev&lt;/a&gt;&lt;br&gt;&amp;gt; Log:
&lt;br&gt;&amp;gt; OPENJPA-1051: Simplify check for uniqueness of column names. Patch 
&lt;br&gt;contributed by Ravi Palacherla.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified:
&lt;br&gt;&amp;gt; 
&lt;br&gt;openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Table.java
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: 
&lt;br&gt;openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Table.java
&lt;br&gt;&amp;gt; URL: 
&lt;br&gt;&lt;a href=&quot;http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Table.java?rev=880689&amp;r1=880688&amp;r2=880689&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Table.java?rev=880689&amp;r1=880688&amp;r2=880689&amp;view=diff&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;==============================================================================
&lt;br&gt;&amp;gt; --- 
&lt;br&gt;openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Table.java 
&lt;br&gt;(original)
&lt;br&gt;&amp;gt; +++ 
&lt;br&gt;openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Table.java 
&lt;br&gt;Mon Nov 16 09:33:29 2009
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; @@ -376,6 +376,13 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return col;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Add a name to this NameSet
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void addCorrectedColumnName(String name, boolean validate) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addName(name, validate);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Remove the given column from the table.
&lt;br&gt;&amp;gt; @@ -816,15 +823,4 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setColNumber(int colNum) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_colNum = colNum;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; -
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;* Add a column to the subNames set to avoid naming conflict.
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;public void addSubColumn(String name) {
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addSubName(name);
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; -
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;public void resetSubColumns() {
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;resetSubNames();
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/Re-svn-commit-r880689-Build-break-tp4011936p4014082.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-4011936"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4011936</id>
	<title>Re: svn commit: r880689 - Build break</title>
	<published>2009-11-16T05:13:22Z</published>
	<updated>2009-11-16T05:13:22Z</updated>
	<author>
		<name>DWoods</name>
	</author>
	<content type="html">Pinaki, it looks like the below changes are causing a compile failure -
&lt;br&gt;&lt;br&gt;&lt;br&gt;[INFO] Compiling 343 source files to 
&lt;br&gt;/Users/drwoods/openjpa/trunk/openjpa-jdbc/target/classes
&lt;br&gt;[INFO] 
&lt;br&gt;------------------------------------------------------------------------
&lt;br&gt;[ERROR] BUILD FAILURE
&lt;br&gt;[INFO] 
&lt;br&gt;------------------------------------------------------------------------
&lt;br&gt;[INFO] Compilation failure
&lt;br&gt;&lt;br&gt;/Users/drwoods/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingDefaultsImpl.java:[542,17] 
&lt;br&gt;cannot find symbol
&lt;br&gt;symbol &amp;nbsp;: method addSubColumn(java.lang.String)
&lt;br&gt;location: class org.apache.openjpa.jdbc.schema.Table
&lt;br&gt;&lt;br&gt;/Users/drwoods/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/meta/MappingDefaultsImpl.java:[544,13] 
&lt;br&gt;cannot find symbol
&lt;br&gt;symbol &amp;nbsp;: method resetSubColumns()
&lt;br&gt;location: class org.apache.openjpa.jdbc.schema.Table
&lt;br&gt;&lt;br&gt;&lt;br&gt;-Donald
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://n2.nabble.com/user/SendEmail.jtp?type=node&amp;node=4011936&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;[hidden email]&lt;/a&gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Author: ppoddar
&lt;br&gt;&amp;gt; Date: Mon Nov 16 09:33:29 2009
&lt;br&gt;&amp;gt; New Revision: 880689
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=880689&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=880689&amp;view=rev&lt;/a&gt;&lt;br&gt;&amp;gt; Log:
&lt;br&gt;&amp;gt; OPENJPA-1051: Simplify check for uniqueness of column names. Patch contributed by Ravi Palacherla.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Table.java
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Table.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Table.java?rev=880689&amp;r1=880688&amp;r2=880689&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Table.java?rev=880689&amp;r1=880688&amp;r2=880689&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Table.java (original)
&lt;br&gt;&amp;gt; +++ openjpa/trunk/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/schema/Table.java Mon Nov 16 09:33:29 2009
&lt;br&gt;&amp;gt; @@ -376,6 +376,13 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return col;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Add a name to this NameSet
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void addCorrectedColumnName(String name, boolean validate) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addName(name, validate);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Remove the given column from the table.
&lt;br&gt;&amp;gt; @@ -816,15 +823,4 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setColNumber(int colNum) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_colNum = colNum;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; -
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;* Add a column to the subNames set to avoid naming conflict.
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;*/
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;public void addSubColumn(String name) {
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addSubName(name);
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; -
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;public void resetSubColumns() {
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;resetSubNames();
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/Re-svn-commit-r880689-Build-break-tp4011936p4011936.html" />
	
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4011234</id>
	<title>[jira] Commented: (OPENJPA-1387) Unique colums automatically defined as non-nullable</title>
	<published>2009-11-16T02:26:41Z</published>
	<updated>2009-11-16T02:26:41Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; [ &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12778287#action_12778287&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12778287#action_12778287&lt;/a&gt;&amp;nbsp;] 
&lt;br&gt;&lt;br&gt;Martin Dirichs commented on OPENJPA-1387:
&lt;br&gt;-----------------------------------------
&lt;br&gt;&lt;br&gt;Just noticed that there exists an exceptional database not capable of unique contraints on nullable fields: Apache Derby, versions up to 10.4.1.3. In 10.4.1.3, this shortcoming was fixed, see here:
&lt;br&gt;&lt;a href=&quot;http://issues.apache.org/jira/browse/DERBY-3330&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://issues.apache.org/jira/browse/DERBY-3330&lt;/a&gt;&lt;br&gt;OpenJPA currently uses Derby 10.2.2.0 for its test cases. Thus, there are build failures after applying this patch. There are three possibilities of how to deal with this:
&lt;br&gt;1. Eliminate the problem by updating to a more recent Derby version.
&lt;br&gt;2. Modify the test cases so that @Column(nullable=false) is explicitly stated where necessary.
&lt;br&gt;3. Continue to label columns implicitly as non-nullable as database-specific logic. Do it for Derby &amp;lt; 10.4.1.3 and maybe some other database out there I am not aware of, leave it for all others (default).
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Unique colums automatically defined as non-nullable
&lt;br&gt;&amp;gt; ---------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: OPENJPA-1387
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1387&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1387&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: OpenJPA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: sql
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 2.0.0-M3
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Environment: Error happens in every environment.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Martin Dirichs
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Pinaki Poddar
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 2.0.0-M4
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Attachments: OpenJPA-Trunk_OJ1387.patch
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any unique constraint declared with OpenJPA implicitly sets the respective columns to be non-null. This is a problem if OpenJPA's mapping tool is used to create the database schema. Even if something like @Column(nullable=true) is explicitly stated, the columns will always be created by OpenJPA as not null.
&lt;br&gt;&amp;gt; Modifying the database schema manually to make the columns nullable is a possible workaround. It does not seem to cause any problems with either OpenJPA or the databases.
&lt;br&gt;&amp;gt; I would suggest to drop the marking of unique columns as not nullable. This is done by removing the corresponding code lines in org.apache.openjpa.jdbc.schema.Unique (trivial patch appended to this issue). If someone wants a unique column to be not nullable, this can be specified explicitly with @Column(nullable=false) as usual.
&lt;br&gt;&amp;gt; I can only speculate about the reason this strange coupling of unique and nullable had been introduced into OpenJPA. To my knowledge, it is perfectly legal use to have unique contraints on nullable columns. In effect this means that there may be multiple rows with null values, whilst all rows with non-null values have to be unique. ANSI SQL-92 also explicitly mentions nullable unique columns and states that this is a crucial difference between PRIMARY KEY columns and UNIQUE columns: the former are always not nullable, the latter may be nullable.
&lt;br&gt;&amp;gt; This issue also pops up again and again in the user discussions, without (to my knowledge) a single authorative answer to why this behaviour is as it is in OpenJPA. Two examples:
&lt;br&gt;&amp;gt; My question, which remained unanswered:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://n2.nabble.com/Unique-colums-automatically-made-NOT-NULL-td2827809.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://n2.nabble.com/Unique-colums-automatically-made-NOT-NULL-td2827809.html&lt;/a&gt;&lt;br&gt;&amp;gt; Another users question, about a month later:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://n2.nabble.com/Nullable-unique-constraints-td3161182.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://n2.nabble.com/Nullable-unique-constraints-td3161182.html&lt;/a&gt;&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1387-Unique-colums-automatically-defined-as-non-nullable-tp3999607p4011234.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-3999607"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4011059</id>
	<title>[jira] Resolved: (OPENJPA-1387) Unique colums automatically defined as non-nullable</title>
	<published>2009-11-16T01:38:39Z</published>
	<updated>2009-11-16T01:38:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Pinaki Poddar resolved OPENJPA-1387.
&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Resolution: Fixed
&lt;br&gt;&amp;nbsp; &amp;nbsp; Fix Version/s: 2.0.0-M4
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Unique colums automatically defined as non-nullable
&lt;br&gt;&amp;gt; ---------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: OPENJPA-1387
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1387&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1387&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: OpenJPA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: sql
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 2.0.0-M3
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Environment: Error happens in every environment.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Martin Dirichs
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Pinaki Poddar
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: 2.0.0-M4
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Attachments: OpenJPA-Trunk_OJ1387.patch
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any unique constraint declared with OpenJPA implicitly sets the respective columns to be non-null. This is a problem if OpenJPA's mapping tool is used to create the database schema. Even if something like @Column(nullable=true) is explicitly stated, the columns will always be created by OpenJPA as not null.
&lt;br&gt;&amp;gt; Modifying the database schema manually to make the columns nullable is a possible workaround. It does not seem to cause any problems with either OpenJPA or the databases.
&lt;br&gt;&amp;gt; I would suggest to drop the marking of unique columns as not nullable. This is done by removing the corresponding code lines in org.apache.openjpa.jdbc.schema.Unique (trivial patch appended to this issue). If someone wants a unique column to be not nullable, this can be specified explicitly with @Column(nullable=false) as usual.
&lt;br&gt;&amp;gt; I can only speculate about the reason this strange coupling of unique and nullable had been introduced into OpenJPA. To my knowledge, it is perfectly legal use to have unique contraints on nullable columns. In effect this means that there may be multiple rows with null values, whilst all rows with non-null values have to be unique. ANSI SQL-92 also explicitly mentions nullable unique columns and states that this is a crucial difference between PRIMARY KEY columns and UNIQUE columns: the former are always not nullable, the latter may be nullable.
&lt;br&gt;&amp;gt; This issue also pops up again and again in the user discussions, without (to my knowledge) a single authorative answer to why this behaviour is as it is in OpenJPA. Two examples:
&lt;br&gt;&amp;gt; My question, which remained unanswered:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://n2.nabble.com/Unique-colums-automatically-made-NOT-NULL-td2827809.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://n2.nabble.com/Unique-colums-automatically-made-NOT-NULL-td2827809.html&lt;/a&gt;&lt;br&gt;&amp;gt; Another users question, about a month later:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://n2.nabble.com/Nullable-unique-constraints-td3161182.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://n2.nabble.com/Nullable-unique-constraints-td3161182.html&lt;/a&gt;&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1387-Unique-colums-automatically-defined-as-non-nullable-tp3999607p4011059.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-3999607"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4011052</id>
	<title>[jira] Assigned: (OPENJPA-1387) Unique colums automatically defined as non-nullable</title>
	<published>2009-11-16T01:36:41Z</published>
	<updated>2009-11-16T01:36:41Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Pinaki Poddar reassigned OPENJPA-1387:
&lt;br&gt;--------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Assignee: Pinaki Poddar &amp;nbsp;(was: Michael Dick)
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Unique colums automatically defined as non-nullable
&lt;br&gt;&amp;gt; ---------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: OPENJPA-1387
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1387&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1387&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: OpenJPA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: sql
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 2.0.0-M3
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Environment: Error happens in every environment.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Martin Dirichs
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Pinaki Poddar
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Attachments: OpenJPA-Trunk_OJ1387.patch
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any unique constraint declared with OpenJPA implicitly sets the respective columns to be non-null. This is a problem if OpenJPA's mapping tool is used to create the database schema. Even if something like @Column(nullable=true) is explicitly stated, the columns will always be created by OpenJPA as not null.
&lt;br&gt;&amp;gt; Modifying the database schema manually to make the columns nullable is a possible workaround. It does not seem to cause any problems with either OpenJPA or the databases.
&lt;br&gt;&amp;gt; I would suggest to drop the marking of unique columns as not nullable. This is done by removing the corresponding code lines in org.apache.openjpa.jdbc.schema.Unique (trivial patch appended to this issue). If someone wants a unique column to be not nullable, this can be specified explicitly with @Column(nullable=false) as usual.
&lt;br&gt;&amp;gt; I can only speculate about the reason this strange coupling of unique and nullable had been introduced into OpenJPA. To my knowledge, it is perfectly legal use to have unique contraints on nullable columns. In effect this means that there may be multiple rows with null values, whilst all rows with non-null values have to be unique. ANSI SQL-92 also explicitly mentions nullable unique columns and states that this is a crucial difference between PRIMARY KEY columns and UNIQUE columns: the former are always not nullable, the latter may be nullable.
&lt;br&gt;&amp;gt; This issue also pops up again and again in the user discussions, without (to my knowledge) a single authorative answer to why this behaviour is as it is in OpenJPA. Two examples:
&lt;br&gt;&amp;gt; My question, which remained unanswered:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://n2.nabble.com/Unique-colums-automatically-made-NOT-NULL-td2827809.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://n2.nabble.com/Unique-colums-automatically-made-NOT-NULL-td2827809.html&lt;/a&gt;&lt;br&gt;&amp;gt; Another users question, about a month later:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://n2.nabble.com/Nullable-unique-constraints-td3161182.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://n2.nabble.com/Nullable-unique-constraints-td3161182.html&lt;/a&gt;&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1387-Unique-colums-automatically-defined-as-non-nullable-tp3999607p4011052.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-3999607"/>
</entry>

<entry>
	<id>tag:n2.nabble.com,2006:post-4000237</id>
	<title>[jira] Assigned: (OPENJPA-1387) Unique colums automatically defined as non-nullable</title>
	<published>2009-11-13T08:25:39Z</published>
	<updated>2009-11-13T08:25:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1387?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Michael Dick reassigned OPENJPA-1387:
&lt;br&gt;-------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Assignee: Michael Dick
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Unique colums automatically defined as non-nullable
&lt;br&gt;&amp;gt; ---------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: OPENJPA-1387
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/OPENJPA-1387&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/OPENJPA-1387&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: OpenJPA
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: sql
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: 2.0.0-M3
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Environment: Error happens in every environment.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Martin Dirichs
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Michael Dick
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Attachments: OpenJPA-Trunk_OJ1387.patch
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any unique constraint declared with OpenJPA implicitly sets the respective columns to be non-null. This is a problem if OpenJPA's mapping tool is used to create the database schema. Even if something like @Column(nullable=true) is explicitly stated, the columns will always be created by OpenJPA as not null.
&lt;br&gt;&amp;gt; Modifying the database schema manually to make the columns nullable is a possible workaround. It does not seem to cause any problems with either OpenJPA or the databases.
&lt;br&gt;&amp;gt; I would suggest to drop the marking of unique columns as not nullable. This is done by removing the corresponding code lines in org.apache.openjpa.jdbc.schema.Unique (trivial patch appended to this issue). If someone wants a unique column to be not nullable, this can be specified explicitly with @Column(nullable=false) as usual.
&lt;br&gt;&amp;gt; I can only speculate about the reason this strange coupling of unique and nullable had been introduced into OpenJPA. To my knowledge, it is perfectly legal use to have unique contraints on nullable columns. In effect this means that there may be multiple rows with null values, whilst all rows with non-null values have to be unique. ANSI SQL-92 also explicitly mentions nullable unique columns and states that this is a crucial difference between PRIMARY KEY columns and UNIQUE columns: the former are always not nullable, the latter may be nullable.
&lt;br&gt;&amp;gt; This issue also pops up again and again in the user discussions, without (to my knowledge) a single authorative answer to why this behaviour is as it is in OpenJPA. Two examples:
&lt;br&gt;&amp;gt; My question, which remained unanswered:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://n2.nabble.com/Unique-colums-automatically-made-NOT-NULL-td2827809.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://n2.nabble.com/Unique-colums-automatically-made-NOT-NULL-td2827809.html&lt;/a&gt;&lt;br&gt;&amp;gt; Another users question, about a month later:
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://n2.nabble.com/Nullable-unique-constraints-td3161182.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://n2.nabble.com/Nullable-unique-constraints-td3161182.html&lt;/a&gt;&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://n2.nabble.com/jira-Created-OPENJPA-1387-Unique-colums-automatically-defined-as-non-nullable-tp3999607p4000237.html" />
	<thr:in-reply-to ref="tag:n2.nabble.com,2006:post-3999607"/>
</entry>

</feed>
