Drs. Jeffrey Carver, Rosanna Guadagno, Debra McCallum, and Mr. Amiangshu
Bosu, University of Alabama, and Dr. Lorin Hochstein, University of
Southern California, are conducting a survey of open-source software
developers. This survey seeks to understand how developers on distributed,
virtual teams, like open-source projects, interact with each other to
accomplish their tasks. You must be at least 19 years of age to complete the
survey. The survey should take approximately 15 minutes to complete.
If you are actively participating as a developer, please consider completing
Here is the link to the survey: http://goo.gl/HQnux
We apologize for inconvenience and if you receive multiple copies of this
email. This survey has been approved by The University of Alabama IRB board.
Dr. Jeffrey Carver
University of Alabama
(v) 205-348-9829 (f) 205-348-0219
I've taken some time and, in an attempt to port Hibernate OGM to use Ehcache instead of Infinispan, abstracted it from Infinispan.
As the doc on that task states, I've made all calls use ConcurrentMap (rather than Map actually). I had a little trouble understanding the "Skip locking proposed by Sanne" in OgmTableGenerator.doWorkInCurrentTransactionIfAny, so that this does a simple Map.get now (that might have been a specialization for a Dialect, but couldn't understand what it was all about).
And finally introduced a new hibernate.grid.manager prop to instantiate the proper provider...
The changes are available here:
Hope that can be made useful… I also wanted to start looking into queries next. But I'll send another mail on that later.
Alex Snaps <alex.snaps(a)gmail.com>
Senior Software Engineer - Terracotta
this pull request by Davide is looking ok for me, as we've been
iterating on it a while now, but I would like a brief review from
someone else, at least your opinion about:
1- the final package name of the logger: package
2- he did on purpose not convert the archetype, still using slf4j in
the example for the "user app": keeps things simpler as enabling the
processor in eclipse still requires some non trivial manual steps
[JBIDE-8208] to be documented on the wiki
I'm interested in knowing whether some behavior like the following has
been considered for Criteria, and what pitfalls or complexities to
watch out for. I'm considering forking hibernate on github to try
this out, but I'd like to hear if anyone has some advice on this
It would be nice if the following worked by default:
* create a JPA entity - let's call it a Cat. The Cat has a
one-to-many collection of Kittens with a JPA FetchType=LAZY.
* create a Criteria to retrieve a list of Cat
* add a restriction to the Criteria that filters on some property of
the subcollection - let's use kitten.Name. I'd like to retrieve all
Cats who have at least one kitten older than 2 years.
* page the collection: I have over 1 million cats who have a kitten
older than 2, but I'd just like to return cats 11-15, so I
setFirstResult to 11 and setMaxResults to 5.
* result: out of the 1 million cats who have a kitten older than 2,
I've retrieved cats 11-15.
What actually happens: hibernate generates queries like the following
(simplified, assuming MySQL syntax. The particular syntax for
defining the row limits would vary per database dialect):
select cat.* from Cat join Kitten on Kitten.catId = Cat.id where
Kitten.age > 2 limit 11, 5
If the first Cat returned has 5 kittens older than 2, what I get is 5
identical rows with the same Cat's fields. When this comes back to
hibernate and we use a distinct root entity transformation, we get
only a single cat instead of cats 11-15.
How hard would it be to add an "adaptive paging" mode to Criteria that
would generate a query like:
select cat.* from Cat where exists(select * from Kitten where
Kitten.catId = Cat.id and Kitten.age > 2) limit 11, 5
If we wanted to support "join" fetches or ordering on a property of
the subcollection, we could perform 2 queries: one to get the paged
identifiers of the root entities to be selected, and a second to get
all the data limited by those identifiers:
<paged identifiers> = select distinct cat.id from Cat join Kitten on
Kitten.catId = Cat.id where Kitten.age > 2 order by Kitten.name limit
select * from Cat join Kitten on Kitten.catId = Cat.id where Cat.id in
(<paged identifiers>) order by Kitten.name
Depending on the database type, we could optimize further. The first
query might not even need to be returned to the application server
running the hibernate code. In SQL Server 2000+, for instance, we
could store the paged identifiers in a table variable and use it to
limit the second query.
Would this be prohibitively difficult or complicated to implement as a
special mode for Criteria? I have some experience with SQL Server,
MySQL, and Oracle, but I'm not sure if this syntax would be possible
in all databases that Hibernate supports.
As 7.0 is not currently including the hibernate-validator-legacy.jar but
people are asking me if we should include it.
hibernate-validator-legacy.jar was included in previous AS releases (see
JBAS-7608) to help with running Seam 2 applications.
http://community.jboss.org/message/608953#608953 is a recent request for
help deploying a Seam 2 app on AS7.
Should AS7 include org.hibernate:hibernate-validator-legacy and should
we include the org.hibernate:hibernate-validator-legacy:4.0.2.GA
version? Or is there a better version that goes with