Kodo 4.0.0EA3 Available
All,
Kodo 4.0.0 EA 3 is now available. Kodo 4 implements the JDO 2 and EJB 3
Persistence specifications. Feel free to download it at:
http://www.solarmetric.com/Software/beta/4.0.0EA/
You can find the release notes at:
http://solarmetric.com/Software/Documentation/4.0.0EA3/docs/full/html/relnotes.html
The full documentation can be found in the distribution, and also at:
http://solarmetric.com/Software/Documentation/4.0.0EA3/docs/full/html/index.
html
Please report any issues that you find to the Kodo beta newsgroup
(solarmetric.kodo.beta).
Good luck, and enjoy!
-Greg
SolarMetric
www.solarmetric.com
Abe White wrote:
You need to make sure that when you enhance, you include JDO
enhancement, not just the base Kodo enhancement. Now that Kodo 4
supports EJB 3 users who might not want JDO, it doesn't enhance-in
dependencies on JDO unless you ask it to.
If you enhance on the command line, that means using the "jdoc" command
rather than "kodoc" ("jdoc" is actually just a shortcut for "kodoc -jdo
true"). If you use the PCEnhancerTask, it means setting the jdoEnhance
attribute:
<taskdef name="kodoc" classname="kodo.ant.PCEnhancer"/>
<kodoc jdoEnhance="true">
</kodoc>So, what are the primary differences between the enhancement done for EJB3
and JDO? I gather that "base Kodo enhancement" is EJB3.
Scott
Similar Messages
-
Kodo 3.4.0RC3 Available
All,
Kodo 3.4.0 Release Candidate 3 is now available. Feel free to download
it at:
http://www.solarmetric.com/Software/beta/3.4.0RC3/
There are a number of exciting new features in 3.4.0 RC3:
* Query cache now caches aggregates and projections, including queries
that use grouping
* Added support for savepoints, with both in-memory and JDBC3 plugins.
* Added support for Oracle Object fields through JDBC SQLData interfaces.
* Improved thread and socket support for TCP RemoteCommitProvider
* Better support for large transactions, including several optimizations
in the datastore cache when using large transactions
* Improvements to reverse mapping
* Improvements to unicode support for Oracle
* Improvements to performance of attaching of object graphs
* Improvements to exception handling and reporting
* Tangosol plugin supports query cache
You can find the release notes at:
http://www.solarmetric.com/Software/Documentation/3.4.0RC3/docs/relnotes.html
The full documentation can be found in the distribution, and also at:
http://www.solarmetric.com/Software/Documentation/3.4.0RC3/docs/index.html
As this is a release candidate, please report any issues that you find
to the Kodo beta newsgroup (solarmetric.kodo.beta).
Good luck, and enjoy!
-Greg
SolarMetric
www.solarmetric.comSavepoints:
It would be very convinient if Kodo provided parameterless
rollbackSavepoint() and releaseSavepoint() - they should rollback/release
latest savepoin
Thanks
Alex
"Greg Campbell" <[email protected]> wrote in message
news:dbgseo$m66$[email protected]..
All,
Kodo 3.4.0 Beta 1 is now available. Feel free to download it at:
http://www.solarmetric.com/Software/beta/3.4.0b1/
There are a number of exciting new features in 3.4.0 Beta 1:
* Query cache now caches aggregates and projections, including queries
that use grouping
* Added support for savepoints, with both in-memory and JDBC3 plugins.
* Added support for Oracle Object fields through JDBC SQLData interfaces.
* Improved thread and socket support for TCP RemoteCommitProvider
* Better support for large transactions, including several optimizations
in the datastore cache when using large transactions
You can find the release notes at:
http://solarmetric.com/Software/Documentation/3.4.0b1/docs/relnotes.html
The full documentation can be found in the distribution, and also at:
http://solarmetric.com/Software/Documentation/3.4.0b1/docs/index.html
As this is a beta release, please report any issues that you find to the
Kodo beta newsgroup (solarmetric.kodo.beta).
Good luck, and enjoy!
-Greg
SolarMetric
www.solarmetric.com -
Kodo 3.3.0RC1 Available
All,
Kodo 3.3.0RC1 is now available. Feel free to download it at:
http://solarmetric.com/jdo/beta/3.3.0RC1/
There are a number of exciting new features in 3.3.0RC1:
* New JDO 2 preview features, including Single Field Identity
* Finer grained control over timed cache invalidation
* Improvements to the Kodo workbench
* Support for Apache Derby
* Support for JMX 1.2
* Performance enhancements to the Remote PersistenceManager capability
* Many other new features and bugfixes
You can find the release notes at:
http://www.solarmetric.com/jdo/Documentation/3.3.0RC1/docs/relnotes.html
As this is a beta release, please report any issues that you find to the
Kodo beta newsgroup (solarmetric.kodo.beta).
Good luck, and enjoy!
-Greg
SolarMetric
www.solarmetric.comCould you please elaborate on
"Added ability to insert raw SQL into a given kodo.jdbc.sql.Row. This is
useful for performing server side functions to generate values for custom
field mappings"
Would it allow to add a snippet of SQL to insert/update statement.
Specifically I am interested to set certain columns to null using NULL
literal rather then null parameter or call to setNull() in prepared
statement
ex: update employee set fname=?, lname=?, address = NULL where id=?
note how address = NULL sets address to null using NULL literal rather then
Is it possible to do now?
"Greg Campbell" <[email protected]> wrote in message
news:cvmiqb$vlv$[email protected]..
All,
Kodo 3.3.0RC1 is now available. Feel free to download it at:
http://solarmetric.com/jdo/beta/3.3.0RC1/
There are a number of exciting new features in 3.3.0RC1:
* New JDO 2 preview features, including Single Field Identity
* Finer grained control over timed cache invalidation
* Improvements to the Kodo workbench
* Support for Apache Derby
* Support for JMX 1.2
* Performance enhancements to the Remote PersistenceManager capability
* Many other new features and bugfixes
You can find the release notes at:
http://www.solarmetric.com/jdo/Documentation/3.3.0RC1/docs/relnotes.html
As this is a beta release, please report any issues that you find to the
Kodo beta newsgroup (solarmetric.kodo.beta).
Good luck, and enjoy!
-Greg
SolarMetric
www.solarmetric.com -
Kodo 3.3.2 Available
All,
Kodo 3.3.2 is now available. Feel free to download it at:
http://www.solarmetric.com/jdo/Evaluate/
This is a patch release that fixes some known problems in 3.3.1.
There are a number of exciting new features in 3.3.0:
* New JDO 2 preview features, including Single Field Identity
* Finer grained control over timed cache invalidation
* Improvements to the Kodo workbench
* Support for Apache Derby
* Support for JMX 1.2
* Performance enhancements to the Remote PersistenceManager capability
* Many other new features and bugfixes
You can find the release notes at:
http://www.solarmetric.com/jdo/Documentation/3.3.2/docs/relnotes.html
Thanks, and enjoy!
-Greg
SolarMetric
www.solarmetric.comWill we be seeing any other JDO 2 preview features, such as
deletion-by-query, in the 3.3.0 release?
;ted
"Greg Campbell" <[email protected]> wrote in message
news:ct94q4$nga$[email protected]..
All,
Kodo 3.3.0 Beta 2 is now available. Feel free to download it at:
http://solarmetric.com/jdo/beta/3.3.0b2/
There are a number of exciting new features in 3.3.0 Beta 2:
* New JDO 2 preview features, including Single Field Identity
* Finer grained control over timed cache invalidation
* Improvements to the Kodo workbench
* Support for Apache Derby
* Support for JMX 1.2
* Performance enhancements to the Remote PersistenceManager capability
* Many other new features and bugfixes
You can find the release notes at:
http://www.solarmetric.com/jdo/Documentation/3.3.0beta2/docs/relnotes.html
As this is a beta release, please report any issues that you find to the
Kodo beta newsgroup (solarmetric.kodo.beta).
Good luck, and enjoy!
-Greg
SolarMetric
www.solarmetric.com -
Kodo 3.3.1 Available
All,
Kodo 3.3.1 is now available. Feel free to download it at:
http://www.solarmetric.com/jdo/Evaluate/
This is a patch release that fixes some known problems in 3.3.0.
There are a number of exciting new features in 3.3.0:
* New JDO 2 preview features, including Single Field Identity
* Finer grained control over timed cache invalidation
* Improvements to the Kodo workbench
* Support for Apache Derby
* Support for JMX 1.2
* Performance enhancements to the Remote PersistenceManager capability
* Many other new features and bugfixes
You can find the release notes at:
http://www.solarmetric.com/jdo/Documentation/3.3.1/docs/relnotes.html
Thanks, and enjoy!
-Greg
SolarMetric
www.solarmetric.comYes, it is. Since the beta was going well we thought we'd announce it to a
larger group. In fact, beta 2 is coming out in a little while, with some
minor changes based on feedback from the first beta.
Thanks,
Greg
"Alex Roytman" <[email protected]> wrote in message
news:ct65t1$4ne$[email protected]..
Greg,
Is it the same build you announced 3 weeks ago?
"Greg Campbell" <[email protected]> wrote in message
news:ct5vh9$qj6$[email protected]..
All,
Kodo 3.3.0 Beta 1 is now available. Feel free to download it at:
http://solarmetric.com/jdo/beta/3.3.0b1/
There are a number of exciting new features in 3.3.0 Beta 1:
* New JDO 2 preview features, including Single Field Identity
* Finer grained control over timed cache invalidation
* Improvements to the Kodo workbench
* Support for Apache Derby
* Support for JMX 1.2
* Performance enhancements to the Remote PersistenceManager capability
* Many other new features and bugfixes
You can find the release notes at:
http://www.solarmetric.com/jdo/Documentation/3.3.0beta1/docs/relnotes.html
>>
As this is a beta release, please report any issues that you find to the
Kodo beta newsgroup (solarmetric.kodo.beta).
Good luck, and enjoy!
-Greg
SolarMetric
www.solarmetric.com -
Kodo 3.3.4 Available
All,
Kodo 3.3.4 is now available. Feel free to download it at:
http://www.solarmetric.com/jdo/Evaluate/
There are a number of bug fixes in the release.
You can find the release notes at:
http://www.solarmetric.com/Software/Documentation/3.3.4/docs/relnotes.html
Enjoy!
-Greg
SolarMetric
www.solarmetric.comSavepoints:
It would be very convinient if Kodo provided parameterless
rollbackSavepoint() and releaseSavepoint() - they should rollback/release
latest savepoin
Thanks
Alex
"Greg Campbell" <[email protected]> wrote in message
news:dbgseo$m66$[email protected]..
All,
Kodo 3.4.0 Beta 1 is now available. Feel free to download it at:
http://www.solarmetric.com/Software/beta/3.4.0b1/
There are a number of exciting new features in 3.4.0 Beta 1:
* Query cache now caches aggregates and projections, including queries
that use grouping
* Added support for savepoints, with both in-memory and JDBC3 plugins.
* Added support for Oracle Object fields through JDBC SQLData interfaces.
* Improved thread and socket support for TCP RemoteCommitProvider
* Better support for large transactions, including several optimizations
in the datastore cache when using large transactions
You can find the release notes at:
http://solarmetric.com/Software/Documentation/3.4.0b1/docs/relnotes.html
The full documentation can be found in the distribution, and also at:
http://solarmetric.com/Software/Documentation/3.4.0b1/docs/index.html
As this is a beta release, please report any issues that you find to the
Kodo beta newsgroup (solarmetric.kodo.beta).
Good luck, and enjoy!
-Greg
SolarMetric
www.solarmetric.com -
Kodo 4.0.0EA3 JDOHelper.is...() state functions
I'm trying to write unit tests for some of my higher level classes, and I've run into trouble trying
to test functions that delete persistent objects. I'm using Spring Framework's
AbstractTransactionalSpringContextTests class as my harness (which derives from JUnit's TestCase).
It sets up a transaction before each test function and rolls the transaction back (by default, this
is editable) after each test function. Because of this, I decided to base the test on the results of
JDOHelper.isDelete( objectThatWasDeleted ). My tests fail though, and all of the JDOHelper.is...()
functions return false at all points during the test. I know things are getting deleted though,
because before the Spring created transaction is started, I create my own transaction and persist
some objects, and after the Spring transaction is finished (and the test case), I create another
transaction to remove them (both my transactions are committed). Even in the tear down function,
JDOHelper.is...() functions don't seem to work; for example, isDeleted() returns false even though
the object has been scheduled for deletion and is in fact deleted when the transaction commits.
Is this a known bug? I was under the impression that JDOHelper functions were working as of EA2 (I
know they weren't working before that and we had to use KodoHelper).
Thanks,
Mark
Here's the code in question:
* This function is called after the test and the transaction it ran in have been completed.
* By default, the transaction is rolled back, but this can be overridden. This function
* should ensure the tests have been cleaned up, including anything that was created by the
* companion function onSetUpBeforeTransaction().
* @see onSetUpBeforeTransaction()
protected void onTearDownAfterTransaction()
if( transactionManager != null )
getLogger().info( "Starting transaction for post-test tear down." );
TransactionStatus status =
transactionManager.getTransaction( new DefaultTransactionDefinition() );
if( status != null )
getLogger().info( "Transaction for post-test tear down has been created." );
UserManager userManager = (UserManager) applicationContext.getBean( "userManager" );
User userToAlter = userManager.getUser( USER_TO_ALTER_USERNAME );
userManager.removeUser( userToAlter );
getLogger().debug(
"userToAlter (Kodo) - isDirty = " + KodoJDOHelper.isDirty( userToAlter )
+ ", isNew = " + KodoJDOHelper.isNew( userToAlter )
+ ", isPersistent = " + KodoJDOHelper.isPersistent( userToAlter )
+ ", isDeleted = " + KodoJDOHelper.isDeleted( userToAlter ) );
getLogger().debug( "userToAlter - isDirty = " + JDOHelper.isDirty( userToAlter )
+ ", isNew = " + JDOHelper.isNew( userToAlter )
+ ", isPersistent = " + JDOHelper.isPersistent( userToAlter )
+ ", isDeleted = " + JDOHelper.isDeleted( userToAlter ) );
try
transactionManager.commit( status );
finally
status = null;
else
getLogger().info( "Could not create transaction for post-test tear down."
+ " Superclass' transactionManager is null." );
And here's the log output (I've put blank lines around the relevant output):
2005-11-10 12:50:17,669 INFO [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<Rolled back transaction after test execution>
2005-11-10 12:50:17,669 INFO [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<Starting transaction for post-test tear down.>
2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Using
transaction object [org.springframework.orm.jdo.JdoTransactionManager$JdoTransactionObject@82d44b]>
2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Creating new
transaction with name [null]>
2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Opened new
PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] for JDO transaction>
2005-11-10 12:50:17,670 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Exposing JDO
transaction as JDBC transaction
[org.springframework.orm.jdo.DefaultJdoDialect$DataStoreConnectionHandle@285701]>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Bound value
[org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] to thread
[main]>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Bound value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] to thread [main]>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Initializing
transaction synchronization>
2005-11-10 12:50:17,671 INFO [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<Transaction for post-test tear down has been created.>
2005-11-10 12:50:17,671 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory]
- <Returning cached instance of singleton bean 'userManager'>
2005-11-10 12:50:17,671 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory]
- <Bean with name 'userManager' is a factory bean>
2005-11-10 12:50:17,671 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
<Getting transaction for edu.ucsc.whisper.core.UserManager.getUser>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,671 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Found
thread-bound PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] for JDO transaction>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] bound to
thread [main]>
2005-11-10 12:50:17,671 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Using
transaction object [org.springframework.orm.jdo.JdoTransactionManager$JdoTransactionObject@87f48e]>
2005-11-10 12:50:17,671 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Participating
in existing transaction>
2005-11-10 12:50:17,671 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,672 DEBUG [kodo.Query] - <executing query: [SELECT UNIQUE FROM
edu.ucsc.whisper.core.DefaultUser WHERE username==searchName
PARAMETERS java.lang.String searchName] with parameters: {searchName=userToAlter}>
2005-11-10 12:50:17,674 DEBUG [kodo.jdbc.JDBC] - <<t 977184> connection pool: active=0, idle=1>
2005-11-10 12:50:17,674 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> checkout>
2005-11-10 12:50:17,674 DEBUG [kodo.jdbc.JDBC] - <<t 977184> prepared statement cache: size=8,
max=50, requests=12, hits=4, created=8, redundant=0, overflow=0, leaked=0>
2005-11-10 12:50:17,677 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [3 ms] executing prepstmnt
1168959 SELECT t0.userId, t0.VERSN, t0.enabled, t0.password, t1.userInfoId, t1.VERSN, t1.aboutText,
t1.familyName, t1.firstName, t1.gender, t1.namePrefix, t1.nameSuffix, t1.otherNames, t2.userId,
t2.VERSN, t2.enabled, t2.password, t2.USERINFO, t2.username, t0.username FROM whisper_user t0 LEFT
OUTER JOIN userinfo t1 ON t0.USERINFO = t1.userInfoId LEFT OUTER JOIN whisper_user t2 ON
t1.userInfoId = t2.USERINFO WHERE (t0.username = ?) [params=(String) userToAlter] [reused=1]>
2005-11-10 12:50:17,690 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [3 ms] executing prepstmnt
4297359 SELECT t0.previousName, t0.nameOrder FROM userInfo_PreviousNames t0 WHERE t0.userInfoId = ?
ORDER BY t0.nameOrder ASC [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,693 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [2 ms] executing prepstmnt
16585718 SELECT t1.authorityId, t1.VERSN, t1.authority FROM user_authorities t0 INNER JOIN
authorities t1 ON t0.authorityId = t1.authorityId WHERE t0.userId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,697 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [3 ms] executing prepstmnt
11277980 SELECT t0.organizationId, t0.VERSN, t0.city, t0.country, t0.isPrimary, t0.orgName,
t0.positionTitle, t0.postalCode, t0.state, t0.streetAddress1, t0.streetAddress2, t0.streetAddress3,
t0.userId FROM organization t0 WHERE t0.userId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,698 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> return>
2005-11-10 12:50:17,698 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> [0 ms] close>
2005-11-10 12:50:17,698 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
<Invoking commit for transaction on edu.ucsc.whisper.core.UserManager.getUser>
2005-11-10 12:50:17,698 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
<Getting transaction for edu.ucsc.whisper.core.UserManager.removeUser>
2005-11-10 12:50:17,698 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,698 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Found
thread-bound PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] for JDO transaction>
2005-11-10 12:50:17,698 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] bound to
thread [main]>
2005-11-10 12:50:17,698 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Using
transaction object [org.springframework.orm.jdo.JdoTransactionManager$JdoTransactionObject@ba0b12]>
2005-11-10 12:50:17,699 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Participating
in existing transaction>
2005-11-10 12:50:17,700 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,702 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Retrieved value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] bound to thread [main]>
2005-11-10 12:50:17,702 DEBUG [org.springframework.transaction.interceptor.TransactionInterceptor] -
<Invoking commit for transaction on edu.ucsc.whisper.core.UserManager.removeUser>
2005-11-10 12:50:17,702 DEBUG [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<userToAlter (Kodo) - isDirty = false, isNew = false, isPersistent = false, isDeleted = false>
2005-11-10 12:50:17,702 DEBUG [edu.ucsc.whisper.test.integration.UserManagerIntegrationTest] -
<userToAlter - isDirty = false, isNew = false, isPersistent = false, isDeleted = false>
2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Triggering
beforeCommit synchronization>
2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Triggering
beforeCompletion synchronization>
2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Initiating
transaction commit>
2005-11-10 12:50:17,703 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Committing JDO
transaction on PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d]>
2005-11-10 12:50:17,703 DEBUG [kodo.jdbc.JDBC] - <<t 977184> connection pool: active=0, idle=1>
2005-11-10 12:50:17,703 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> checkout>
2005-11-10 12:50:17,703 DEBUG [kodo.jdbc.JDBC] - <<t 977184> prepared statement cache: size=11,
max=50, requests=16, hits=5, created=11, redundant=0, overflow=0, leaked=0>
2005-11-10 12:50:17,705 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
1104991 DELETE FROM userInfo_PreviousNames WHERE userInfoId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,706 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
15986263 DELETE FROM user_authorities WHERE authorityId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,708 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
10794796 DELETE FROM user_authorities WHERE userId = ? [params=(long) 1] [reused=0]>
2005-11-10 12:50:17,710 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [2 ms] executing prepstmnt
16100636 DELETE FROM authorities WHERE authorityId = ? AND VERSN = ? [params=(long) 1, (int) 1]
[reused=0]>
2005-11-10 12:50:17,711 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
3677634 DELETE FROM userinfo WHERE userInfoId = ? AND VERSN = ? [params=(long) 1, (int) 1] [reused=0]>
2005-11-10 12:50:17,713 DEBUG [kodo.jdbc.SQL] - <<t 977184, conn 3700728> [1 ms] executing prepstmnt
2745891 DELETE FROM whisper_user WHERE userId = ? AND VERSN = ? [params=(long) 1, (int) 1] [reused=0]>
2005-11-10 12:50:17,828 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> [115 ms] commit>
2005-11-10 12:50:17,829 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> return>
2005-11-10 12:50:17,829 DEBUG [kodo.jdbc.JDBC] - <<t 977184, conn 3700728> [1 ms] close>
2005-11-10 12:50:17,830 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Triggering
afterCompletion synchronization>
2005-11-10 12:50:17,830 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Clearing transaction
synchronization>
2005-11-10 12:50:17,830 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Removed value
[org.springframework.orm.jdo.PersistenceManagerHolder@8424bd] for key
[kodo.jdo.PersistenceManagerFactoryImpl@aa994e] from thread [main]>
2005-11-10 12:50:17,830 DEBUG
[org.springframework.transaction.support.TransactionSynchronizationManager] - <Removed value
[org.springframework.jdbc.datasource.ConnectionHolder@681dea] for key [datasource 9833630] from
thread [main]>
2005-11-10 12:50:17,831 DEBUG [org.springframework.orm.jdo.JdoTransactionManager] - <Closing JDO
PersistenceManager [kodo.jdo.PersistenceManagerImpl@3faa8d] after transaction>
2005-11-10 12:50:17,831 DEBUG [org.springframework.orm.jdo.PersistenceManagerFactoryUtils] -
<Closing JDO PersistenceManager>Abe White wrote:
You need to make sure that when you enhance, you include JDO
enhancement, not just the base Kodo enhancement. Now that Kodo 4
supports EJB 3 users who might not want JDO, it doesn't enhance-in
dependencies on JDO unless you ask it to.
If you enhance on the command line, that means using the "jdoc" command
rather than "kodoc" ("jdoc" is actually just a shortcut for "kodoc -jdo
true"). If you use the PCEnhancerTask, it means setting the jdoEnhance
attribute:
<taskdef name="kodoc" classname="kodo.ant.PCEnhancer"/>
<kodoc jdoEnhance="true">
</kodoc>So, what are the primary differences between the enhancement done for EJB3
and JDO? I gather that "base Kodo enhancement" is EJB3.
Scott -
Hello all!
I was wondering whether anyone representing TechTrader could update us on
how progress is proceeding on Kodo?!?! In particular, integration with
application servers, etc.
Furthermore, is the JSR for JDO likely to reach final status anytime soon?
That is obviously a barrier to wholesale adoption of JDO in production
environments!
I must admit, I wish there was a higher level of posts on this list. This
is an interesting technology and deserves more discussion!
Regards,
James W.Hi folks,
The new beta of Kodo JDO is now available!
We've been busy trying to get the latest version of JDO ready and
packaged. We apologize for the delay in getting you updated information
regarding the status of Kodo. We've made a number of changes to Kodo
including the introduction of the Enterprise Edition so we've decided to
extend the beta period. To download this new beta, please go to
http://www.techtrader.com/products/jdo.html
<http://www.techtrader.com/products/jdo.html> .
The following email is being sent to the JDO announce distribution list
announcing Kodo JDO Standard Edition Beta 2.0 and Kodo JDO Enterprise
Edition Beta 2.0. Both will be available for download from the site
today and the license is good till August 25, 2001.
We again look forward to receiving feedback on the product from you.
You can send feedback or support questions to [email protected].
The Kodo Product Team
TechTrader, Inc.
TechTrader is excited to present the latest versions of Kodo JDO:
- Kodo JDO Standard Edition Beta 2.0; and
- Kodo JDO Enterprise Edition Beta 2.0
The Kodo JDO Standard Edition Beta 2.0 incorporates much of the feedback
that we have received from our loyal beta testers. Thank you. In
addition, we've introduced a number of new features including support of
n-many relations and JNDI lookup. The current release of Kodo JDO
Standard Edition more fully supports the Proposed Final Draft of Sun's
Java Data Objects Specification 1.0.
The introduction of the Kodo JDO Enterprise Version represents a growing
need for tools and features that are needed for larger scale usage of
Kodo. In addition to all of the features in the Standard Version of
Kodo, the Enterprise version offers PersistenceManagers that can
transparently synchronize with global J2EE Transactions. Additional
enterprise features are being developed. Please let us know what new
features you would like to see in the Enterprise Version of Kodo JDO as
we take our users feedback very seriously.
PREVIOUS KODO JDO USERS
We highly recommend upgrading to Kodo JDO Standard Beta 2.0 or
Enterprise Beta 2.0. Your version of Kodo expires on July 15, 2001 - to
continue using Kodo you must upgrade.
Detailed upgrade instructions are included in the download in the file
UPGRADE.txt. Quickstart instructions follow:
- Replace the shell/bat scripts that shipped with the previous version
of Kodo with those in the bin/ directory.
- Replace the jar libraries that shipped with the previous version of
Kodo with those in the lib/ directory. Note that some new libraries have
been introduced; therefore, these should be added to your CLASSPATH.
Read the rest of this document for information on changes that might
require modification of your application.
New Features
- Maps with user-defined persistent object values can be persisted
(n-many relations).
- Static inner classes can be persisted.
- Queries support the use of containsKey() and containsValue() for Map
fields.
- Queries support ordering declarations.
- The SchemaTool's schema migration capabilities have been enhanced.
- The SchemaTool offers the option of automatically maintaining the list
of persistent types for the system.
- Schema generation can be customized through JDO metadata.
- The standard javax.sql.DataSource is used to obtain connections.
- Connection pooling has been enhanced, and new pooling parameters have
been added (timeout time, autoreturn time).
- The ObjectId helper class has been introduced to map opaque JDO OID
values to and from primitive long values.
- PersistenceManagerFactories can be stored in JNDI, including JNDI
trees that are replicated over multiple JVMs.
- PersistenceManagers can transparently synchronize with global J2EE
Transactions (Kodo Enterprise Edition beta only).
Bugfixes
- Row-level locking is now performed within pessimistic Transactions.
- Object ID generation is now done using the database by default.
- Globally unique primary key values are no longer required (per-class
only).
- Inserting new instances of classes mapped to an existing schema
without a class indicator column no longer throws a
NullPointerException.
- Numerous minor fixes.
Notable Changes
Users of previous beta versions of Kodo should scan the user guide in
the docs/ directory for new information included with this release.
Of particular note:
- The schematool can now automatically maintain a list of persistent
classes; the <persistent-types> array in system.prefs is not needed.
This is covered in the Database Setup chapter of the user guide.
- The syntax for using the schematool has changed. This is covered in
the Database Setup chapter of the user guide.
- The syntax for mapping classes to existing database tables has
changed. This is covered in the Using Existing Schema chapter of the
user guide.
- The Runtime Use chapter of the user guide covers new runtime options
available, such as JNDI storage of the JDBCPersistenceManagerFactory and
safe conversion of JDO OID values to and from primitive long values.
As always, please direct any support questions to
[email protected].
-----Original Message-----
From: Christof Krug [ mailto:[email protected]
<mailto:[email protected]> ]
Sent: Tuesday, July 10, 2001 7:05 AM
To: Mike Ivanov; [email protected]; [email protected]
Subject: AW: Kodo progress?
Hi James and Mike
This is the info I got last week from TechTrader:
Hi Christof,
Thanks for downloading and using Kodo.
We are planning on releasing a version of Kodo before the July 15th
deadline -
it may be a final beta version, but most likely it will be the
production
version. We'll announce the release plans on our JDO Announce listserv
(Just
send an email to [email protected] with "subscribe" as
the
subject).
We are planning on retailing Kodo at $700 per developer seat. However,
during a introductory promotion, we plan on selling Kodo for $299 /
developer
seat. Included in this price is 30 days email support and 30 days of
free
upgrades. There will be no run-time royalties.
Additional support / upgrade packs may be purchased for $500 for 1 year
of
email support and free upgrades.
Let me know if you have any questions. I've cc'd this email to our
sales
folks in case you'd like to follow-up with them.
Thanks and let us know if you have any additional questions.
Neelan Choksi
VP, Marketing and Market Intelligence
TechTrader, Inc.
[email protected]
[email protected] wrote (Fri, Jun 29 2001 03:49:00):
Hi support
I am currently using the beta of your Kodo JDO. Since it expires onJuly
15,
when do you have the release ready and how much will it cost?
Kind regards
Christof
Christof Krug
Vanero GmbH
Dominikstr.21
D-81929 Munchen
Germany
Tel. +49 (0)89 993419 72
Fax. +49 (0)89 993419 74
Mobil +49 (0)170 5836734
[email protected]
www.vanero.comChristof Krug
Vanero GmbH
Dominikstr.21
D-81929 Munchen
Germany
Tel. +49 (0)89 993419 72
Fax. +49 (0)89 993419 74
Mobil +49 (0)170 5836734
[email protected]
www.vanero.com
-----Ursprungliche Nachricht-----
Von: Mike Ivanov [ mailto:[email protected]
<mailto:[email protected]> ]
Gesendet: Dienstag, 10. Juli 2001 12:51
An: [email protected]; [email protected]
Betreff: RE: Kodo progress?
Hi James,
it looks like Tech Traders left us alone...
Go http://www.objectmatter.com <http://www.objectmatter.com> !
Mike
-----Original Message-----
From: [email protected] [ mailto:[email protected]
<mailto:[email protected]> ]
Sent: Tuesday, July 10, 2001 12:37 PM
To: [email protected]
Subject: Kodo progress?
Hello all!
I was wondering whether anyone representing TechTrader could update uson
how progress is proceeding on Kodo?!?! In particular, integration with
application servers, etc.
Furthermore, is the JSR for JDO likely to reach final status anytimesoon?
That is obviously a barrier to wholesale adoption of JDO in production
environments!
I must admit, I wish there was a higher level of posts on this list.This
is an interesting technology and deserves more discussion!
Regards,
James W. -
Kodo.util.InternalException: null
Hello,
I'm trying new persistence EJB3 implementation from SolarMetric:
kodo-4.0.0EA3
I have constructed a simple test app. And when I try to run it I get:
Exception in thread "main" <1|true|4.0.0EA3> kodo.util.InternalException:
null
at
kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclassProxy.kodoNewObjectIdInstance(Unknown
Source)
at kodo.util.ApplicationIds.create(ApplicationIds.java:246)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2433)
at kodo.kernel.BrokerImpl.persistSafe(BrokerImpl.java:2379)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2366)
at kodo.kernel.DelegatingBroker.persist(DelegatingBroker.java:1275)
at kodo.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:519)
at com.dalitest.Test.main(Test.java:21)
Do you know what is going on?
Here is my code:
package com.dalitest;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
public class Test
public static void main(String[] args)
EntityManagerFactory factory =
Persistence.createEntityManagerFactory("kodo");
EntityManager em = factory.createEntityManager();
Client c1 = new Client();
c1.setName("John Doe");
EntityTransaction t = em.getTransaction();
t.begin();
em.persist(c1);
t.commit();
and Client.java:
package com.dalitest;
import javax.persistence.AccessType;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Id;
import javax.persistence.Column;
@Entity(access = AccessType.PROPERTY)
@Table(name="DALI_CLIENTS")
public class Client
private String id;
private String name;
public void setName(String name)
this.name = name;
@Column(name="NAME")
public String getName()
return name;
public void setId(String id)
this.id = id;
@Id
@Column(name="ID")
public String getId()
return id;
and my persistence.xml:
<?xml version="1.0"?>
<entity-manager>
<name>kodo</name>
<provider>kodo.persistence.PersistenceProviderImpl</provider>
<class>com.dalitest.Client</class>
<properties>
<property name="kodo.LicenseKey"
value="XXX" />
<property name="kodo.ConnectionURL"
value="XXX" />
<property name="kodo.ConnectionDriverName"
value="oracle.jdbc.driver.OracleDriver" />
<property name="kodo.ConnectionUserName" value="XXX" />
<property name="kodo.ConnectionPassword" value="XXX" />
<property name="kodo.Log" value="DefaultLevel=WARN, Tool=INFO" />
</properties>
</entity-manager>
Where I have masked some values with XXX for this post.
Thanks in advance,
RuslanAlso I tried to enable DEBUG mode
<property name="kodo.Log" value="DefaultLevel=WARN, Tool=INFO" />
And got the following output before this exception:
15 INFO [main] kodo.Runtime - Starting Kodo 4.0.0EA3
62 DEBUG [main] kodo.Runtime - License capabilities: "Kodo Standard
Edition,Kodo Community Edition,Kodo Evaluation Edition,Datacache
Plug-in,Custom Result Object Providers,Custom Mappings,Enterprise
Databases,Query Extensions,Performance Pack,Statement Batching,Kodo
Enterprise Edition,Managed Environment,Developer Tools,Custom
DBDictionaries" Expiration: "2/25/06 7:00 PM" Maintenance expiration:
"2/25/06 7:00 PM"
187 INFO [main] kodo.jdbc.JDBC - Using dictionary class
"kodo.jdbc.sql.OracleDictionary".
343 INFO [main] kodo.MetaData - Found 1 classes with metadata in 0
milliseconds.
422 INFO [main] kodo.MetaData - parse-class
422 INFO [main] kodo.MetaData - parse-package
Exception in thread "main" <1|true|4.0.0EA3> kodo.util.InternalException:
null
at
kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclassProxy.kodoNewObjectIdInstance(Unknown
Source)
at kodo.util.ApplicationIds.create(ApplicationIds.java:246)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2433)
at kodo.kernel.BrokerImpl.persistSafe(BrokerImpl.java:2379)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2366)
at kodo.kernel.DelegatingBroker.persist(DelegatingBroker.java:1275)
at kodo.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:519)
at com.dalitest.Test.main(Test.java:21) -
Some issues while testing EJB3 API
I'm running some EJB3 peristence test outside standalone and I'm running
into some issues that I did not see running the same code against the
Hibernate EntityManager implementation.
I'm currently using the Kodo 4.0EA3 download. Any help is appreciated.
I have the following table:
Table "public.beers"
Column | Type | Modifiers
id | integer | not null
brand | character varying(50) |
price | numeric(15,2) |
Indexes:
"beers_pkey" PRIMARY KEY, btree (id)
With the following class:
package com.springdeveloper.model;
import javax.persistence.*;
import java.io.Serializable;
@Entity
@Table(name="BEERS")
public class Beer implements Serializable {
private Long id;
private String brand;
private Double price;
public Beer() {
public Beer(Long id) {
this.id = id;
@Id(generate=GeneratorType.AUTO)
@Column(name="ID", nullable=false)
public Long getId() {
return id;
public void setId(Long id) {
this.id = id;
public String getBrand() {
return brand;
public void setBrand(String brand) {
this.brand = brand;
public Double getPrice() {
return price;
public void setPrice(Double price) {
this.price = price;
public String toString() {
return "[" + id + "] " + brand + " " + price;
Issues:
=======
1) If I don't have a column named type I get an error -
Exception in thread "main" <2|false|4.0.0EA3> kodo.util.StoreException:
ERROR: column t0.type does not exist {prepstmnt 14211340 SELECT t0.ID,
t0.TYPE, t0.brand, t0.price FROM BEERS t0 WHERE (t0.ID = ?) [reused=0]}
[code=0, state=42703]
Any way around this since there is no inheritance structure involved?
2) If I don't specify a fully qualified name for the first query I get
this error:
33 INFO [main] kodo.Runtime - Starting Kodo 4.0.0EA3
74 DEBUG [main] kodo.Runtime - License capabilities: "Kodo Standard
Edition,Kodo Community Edition,Kodo Evaluation Edition,Datacache Plug-
in,Custom Result Object Providers,Custom Mappings,Enterprise
Databases,Query Extensions,Performance Pack,Statement Batching,Kodo
Enterprise Edition,Managed Environment,Developer Tools,Custom
DBDictionaries" Expiration: "11/22/05 7:00 PM" Maintenance expiration:
"11/22/05 7:00 PM"
496 INFO [main] kodo.jdbc.JDBC - Using dictionary class
"kodo.jdbc.sql.PostgresDictionary".
1007 INFO [main] kodo.MetaData - Found 3 classes with metadata in 0
milliseconds.
Exception in thread "main" <4|false|4.0.0EA3>
kodo.persistence.ArgumentException: Could not resolve entity named "Beer".
at kodo.query.ejbql.EJBQLParser.populate(EJBQLParser.java:61)
at kodo.query.ExpressionStoreQuery.populateFromCompilation
(ExpressionStoreQuery.java:129)
at kodo.query.QueryImpl.compileForCompilation(QueryImpl.java:682)
at kodo.query.QueryImpl.compileForExecutor(QueryImpl.java:713)
at kodo.query.QueryImpl.getOperation(QueryImpl.java:1624)
at kodo.query.DelegatingQuery.getOperation(DelegatingQuery.java:136)
at kodo.persistence.QueryImpl.execute(QueryImpl.java:231)
at kodo.persistence.QueryImpl.getSingleResult(QueryImpl.java:258)
at KodoTest.main(KodoTest.java:16)
If I specify a fully qualified name for the EJBQL the first time I query
then I can just use 'Beer' in subsequent queries. It doesn't help to
specify '@Entity(name="Beer")' in the persistent class either.
Here is my query:
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
Beer b = (Beer)em.createQuery(
"select object(o) from Beer o where o.id = :id")
.setParameter("id", new Long(2))
.getSingleResult();
System.out.println("Beer: " + b);
em.getTransaction().commit();
This works but is kind of ugly:
Beer b = (Beer)em.createQuery(
"select object(o) from com.springdeveloper.model.Beer o where
o.id = :id")
.setParameter("id", new Long(2))
.getSingleResult();
And here is my peristence.xml:
<?xml version="1.0"?>
<entity-manager>
<name>BeerDistributor</name>
<provider>kodo.persistence.PersistenceProviderImpl</provider>
<properties>
<!--
To evaluate or purchase a license key, visit http://
www.solarmetric.com
-->
<property name="kodo.LicenseKey" value="????-????-????-????-????"/>
<property name="kodo.PersistentClasses"
value="com.springdeveloper.model.Beer,
com.springdeveloper.model.Customer,
com.springdeveloper.model.Order"/>
<!--
Connection configuration.
-->
<property name="kodo.ConnectionURL" value="jdbc:postgresql://
localhost/test"/>
<property name="kodo.ConnectionDriverName"
value="org.postgresql.Driver"/>
<property name="kodo.ConnectionUserName" value="trisberg"/>
<property name="kodo.ConnectionPassword" value="????"/>
<!--
To disable logging, set value to 'none'.
To use Log4J, configure Log4J appropriately, and set value to
'log4j'.
To view trace of all SQL being executed, add 'SQL=TRACE' to value
below.
-->
<property name="kodo.Log" value="DefaultLevel=INFO, Runtime=DEBUG,
Tool=INFO"/>
</properties>
</entity-manager>
Thanks,
Thomas Risberg1) If I don't have a column named type I get an error -This, unfortunately, is something that we need to clarify in the spec
itself. Currently, the discriminator value and column for a class have
default values in the spec. So technically, every base class has a
discriminator column according to spec defaults.
Obviously this isn't practical. In fact Kodo already turns off
automatic discriminator columns for vertical and table-per-class
inheritance unless you explicitly give a discrimintor value or column.
So one way to not use a discriminator column in Kodo right now is to set
your inheritance type to JOINED or TABLE_PER_CLASS. Another way is to
use Kodo's kodo.persistence.jdbc.DiscriminatorStrategy annotation, which
allows you to name a non-standard or custom discriminator strategy.
Setting this annotation's value to "final" (an alias for Kodo's
kodo.jdbc.meta.strats.NoneDiscriminatorStrategy) will indicate that the
class doesn't need a discriminator because it won't be extended.
We will try to get this ironed out in future versions of the spec.
If I specify a fully qualified name for the EJBQL the first time I query
then I can just use 'Beer' in subsequent queries. It doesn't help to
specify '@Entity(name="Beer")' in the persistent class either.This sounds like a bug in our early access implementation. I have a
feeling it only occurs with property access entities -- if you change
your entity to use field access (which also means using Kodo
enhancement), I think you'd see the problem go away. I think it might
also go away if you performed some other persistence operation on a Beer
entity (such as a by-id lookup) before attempting the query. We'll make
sure to have this fixed for our next release. Thanks for the report. -
How to use Enums in query ?
Hi,
I would like to use java 1.5 Enums in query, but i cannot find any usefull
informations in docs.
I use Kodo 4.0.0EA3.
I have a class with a field that is an enum, and i would like to filter the
query on specific value. Enums are defined in an other classe.
i imported the Enums in the query, but a received the erreor below :
<4|false|4.0.0EA3> kodo.jdo.UserException: An error occurred while parsing the
query filter "etat==StateEnum.SUBMITTED". Error message: Attempt to query field
"SUBMITTED" from a class without metadata. If this is a field of an implicit
variable, you may need to cast the variable within the filter to identify its type.
Thanks,
Stephane BouchetStephane Bouchet a ?crit :
Stephane Bouchet a ?crit :
Hi,
I would like to use java 1.5 Enums in query, but i cannot find any usefull
informations in docs.
I use Kodo 4.0.0EA3.
I have a class with a field that is an enum, and i would like to filter the
query on specific value. Enums are defined in an other classe.
i imported the Enums in the query, but a received the erreor below :
<4|false|4.0.0EA3> kodo.jdo.UserException: An error occurred while parsing the
query filter "etat==StateEnum.SUBMITTED". Error message: Attempt to query field
"SUBMITTED" from a class without metadata. If this is a field of an implicit
variable, you may need to cast the variable within the filter to identify its type.
I tried to declare the Enum via declareImports and declareVariables, and i get
now this error :
The type "DocumentsConstants.StateEnum" as used in the parameter/variable
declarations could not be found in the imports.
there is the code :
String filtre = "state.etat == aState";
query.declareImports("import fr.emn.castor.documents.DocumentsConstants.StateEnum");
query.declareParameters("StateEnum aState");
List queryRes = (List) query.execute(StateEnum.SUBMITTED);I found some exemples from JPOX, that use Enum in queries :
from the CVS
(http://jpox.cvs.sourceforge.net/jpox/JPOX/Plugins/Java5/src/test/org/jpox/persistence/EnumMappingTest.java?view=markup)
, i found that the query must be like :
pm.newQuery(Palette.class,"colorOrdinal == 'RED'")
So i tried this but i got an Exception saying just :
JDOException : java.lang.String ???
i suppose that is because the value is between special char, but removing them
and i got the previously errors.
So my question is : Does Kodo supports Enums in Queries with JDOQL ???
Thanks for any help,
St?phane -
Problems with persistance manager factory
This method keeps hit a "Null pointer Exception" and i don't know why can
anyone help?
it may be a problem with the a setting in JBuilder 9, i just don't know.
public void getPersistenceManagerFactory(){
if(pmf==null){
Properties props = new Properties();
try{
props.load((getClass().getResourceAsStream("/kodo.properties"))); //
this is the line which is not working.
catch(IOException ioe){
throw new
JDOFatalInternalException("Datalink: getPersistenceManagerFactory():Could
load resource KODO",ioe);
this.pmf =
JDOHelper.getPersistenceManagerFactory(props);How can put kodo.properties at the root of my class path then
it will probably be in C:\Jbuider\lib\ext
what is the name of that file that contains kodo.properties
if can find that i can add that the file.
Stephen Kim wrote:
My guess is that kodo.properties is not available at the root of your
runtime classpath. You may want to change the input stream as a
new FileInputStream (new File ("...."));
David wrote:
This method keeps hit a "Null pointer Exception" and i don't know why can
anyone help?
it may be a problem with the a setting in JBuilder 9, i just don't know.
public void getPersistenceManagerFactory(){
if(pmf==null){
Properties props = new Properties();
try{
props.load((getClass().getResourceAsStream("/kodo.properties"))); //
this is the line which is not working.
catch(IOException ioe){
throw new
JDOFatalInternalException("Datalink: getPersistenceManagerFactory():Could
load resource KODO",ioe);
this.pmf =
JDOHelper.getPersistenceManagerFactory(props);
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com -
Kodo JDO 2.5.0 beta now available
All,
Kodo JDO 2.5.0 beta 1 is now available at:
http://solarmetric.com/Software/beta/2.5.0/
Some notable new features since 2.4 include:
- Queries have received a major overhaul. Queries now support unbound
variables, Collections as parameters to generate SQL IN (...) clauses,
traversing fields of persistence-capable parameters, and more. The SQL
produced by queries is also much more efficient.
- Kodo JDO EE can now participate correctly in XA transactions.
- Kodo JDO now includes support for custom fetch groups.
- Queries and Extents can be constructed for interfaces.
- Multi-table mappings now permit different tables to have different
primary key column names.
- The data cache framework can now cache query results.
Known issues:
- The JCA resource adapter will not seamlessly work with WebLogic -- to
use it with WebLogic, it is necessary to unzip the kodo.rar and remove
empty config-param-value elements
(i.e. <config-properrty-value></config-property-value>).
- We have done only limited integration testing with our IDE plugins.
- Cached query results do not obey the timeouts configured for the classes
in the query's access path.
As usual, please discuss any issues, desires, etc. on the beta newsgroup:
news://news.solarmetric.com/solarmetric.kodo.beta
Enjoy,
-Patrick
Patrick Linskey
SolarMetric Inc.All,
Kodo JDO 2.5.0 beta 1 is now available at:
http://solarmetric.com/Software/beta/2.5.0/
Some notable new features since 2.4 include:
- Queries have received a major overhaul. Queries now support unbound
variables, Collections as parameters to generate SQL IN (...) clauses,
traversing fields of persistence-capable parameters, and more. The SQL
produced by queries is also much more efficient.
- Kodo JDO EE can now participate correctly in XA transactions.
- Kodo JDO now includes support for custom fetch groups.
- Queries and Extents can be constructed for interfaces.
- Multi-table mappings now permit different tables to have different
primary key column names.
- The data cache framework can now cache query results.
Known issues:
- The JCA resource adapter will not seamlessly work with WebLogic -- to
use it with WebLogic, it is necessary to unzip the kodo.rar and remove
empty config-param-value elements
(i.e. <config-properrty-value></config-property-value>).
- We have done only limited integration testing with our IDE plugins.
- Cached query results do not obey the timeouts configured for the classes
in the query's access path.
As usual, please discuss any issues, desires, etc. on the beta newsgroup:
news://news.solarmetric.com/solarmetric.kodo.beta
Enjoy,
-Patrick
Patrick Linskey
SolarMetric Inc. -
Kodo 3.4.0 now available
Hi,
Kodo 3.4.0 is available now! Get your copy at
http://solarmetric.com/kodo/releases/3.4.0
* Query cache now caches aggregates and projections, including queries
that use grouping
* Added support for savepoints, with both in-memory and JDBC3 plugins.
* Added support for Oracle Object fields through JDBC SQLData interfaces.
* Improved thread and socket support for TCP RemoteCommitProvider
* Better support for large transactions, including several optimizations
in the datastore cache when using large transactions
* Improvements to reverse mapping
* Improvements to unicode support for Oracle
* Improvements to performance of attaching of object graphs
* Improvements to exception handling and reporting
* Tangosol plugin supports query cache
* Added a new ManagedRuntime for improved integration with BEA WebLogic
Server. It is automatically used when using WLS.
See http://docs.solarmetric.com/relnotes.html for full release notes.
Enjoy,
-PatrickStephane & Alex-
Kodo 4.0.0 ships with the final JDO 2.0 jars, but it is not yet a
complete JDO 2 implementation.
We do still intend to complete JDO 2 compliance in the near future, but
as of 4.0.0, Kodo is still officially a JDO 1 product.
Stephane Bouchet wrote:
Another question :
Is the final release will be compliant with the last (and final) JDO 2.0 API ?
It seems it is not the case for the current release.
Cheers,
St?phane
Alex Roytman a ?crit :
Hi Mark,
Is any work done on JDO side of the product? If I am not mistaken the list
of outstanding JDO issues has not changed for quite a while. Are you
planning to release the product without addressing them?
Thank you
Alex
"Marc Prud'hommeaux" <[email protected]> wrote in message
news:[email protected]..
All,
Kodo 4.0.0 RC 3 is now available. This release candidate of Kodo 4
implements the JDO and EJB 3 Persistence specifications. You are
invited to download it at:
http://www.solarmetric.com/Software/beta/4.0.0RC/
You can find the release notes at:
http://solarmetric.com/Software/Documentation/4.0.0RC3/docs/full/html/relnotes.html
The full documentation can be found in the distribution, and also at:
http://solarmetric.com/Software/Documentation/4.0.0RC3/docs/full/html/index.html
Please report any issues that you find to the Kodo beta newsgroup
(bea.kodo.beta).
Good luck, and enjoy!
Marc Prud'hommeaux
BEA, Inc. -
Kodo 3.0.0 beta now available
All,
Kodo JDO 3.0.0 beta 1 is now available at:
http://solarmetric.com/Software/beta/3.0.0/
Kodo JDO 3.0.0 is a major release, and contains significant changes to
properties, mapping information, and Kodo-specific APIs. To read more about
these, and to read about how to convert a Kodo 2 project to Kodo 3, see the
migration documentation at:
http://solarmetric.com/Software/beta/3.0.0/b1-docs/docs/kodo2.html
NOTE: the conversion is non-trivial, so we have provided a number of tools
to automate most of the process. So please read and obey the migration
documentation, which will guide you through the migration tool process.
For details about some of the major new features in this release, please
read the release notes at:
http://solarmetric.com/Software/beta/3.0.0/b1-docs/docs/relnotes.html
The full documentation is available online at:
http://solarmetric.com/Software/beta/3.0.0/b1-docs/docs/index.html
Some of the major new features include:
* New mapping system, providing more powerful and flexible mapping options.
* More configuration options for connection pooling.
* Configurable eager fetching of 1-1, 1-many and many-many relations.
Potentially reduces the number of database queries required when iterating
through an extent or query result and accessing relation fields of each
instance.
* More optimized SQL batching.
* Simplified package structure for Kodo-specific APIs.
Known issues:
* DB2, Informix, and Sybase do not fully pass our internal tests yet. Sybase
is close to passing, and DB2 and Informix probably work in many situations
as well, but they are not yet officially supported by this release.
* We have done only limited integration testing with application servers.
* Our IDE integration components are not included in this release.
As usual, please discuss any issues, desires, etc. on the beta newsgroup:
news://news.solarmetric.com/solarmetric.kodo.beta
Enjoy,
- Greg
Greg Campbell
SolarMetric, Inc.1. I can't see any standalone GUI tool to do mapping tasks, as you have
ever announced.The GUI will have its own beta program and release schedule.
2. the file : <kodo3.0>/samples/jsp/build.xml has a line wrong:
<fileset dir="../../../lib/">
should be:
<fileset dir="../../lib/">Thanks!
Maybe you are looking for
-
Ok so I've been searching this all around, it is a common issue. I have tried many fix's but if anyone has an idea please suggest. If anyone has had this issue and now it's fixed please tell me. It is clearly the wifi hardware or software from MSI. I
-
Help Installing Adobe Photoshop Elements 11
Do I need to remove version 9 before installing [email protected] Adobe Photoshop Elements 11 and Adobe Premiere Elements 11?
-
Portal Personalize problems.
Dear experts I want Personalize link in my masthead. For that I have done the below steps. 1) Created a role. 2) Assigned portal personalization workset to that role. 3) Assigned the role to user. 4) In masthead iview I have changed the property "Sho
-
hallow i have a table and i wont to now if i have field datbi appear more then once datbi is<b> variable</b> i give example table a_itab datbi <b>20071231</b> 20070201 0000014848 <b>20071231</b> 20070401 0000014849 20061231
-
hi, can any body tell me the use of type varaiable in infopackage and how to impelement it. also the use of routine in infopackage and a sample code regards