The Castor Team and the exolab group are pleased to announce the release of Castor 0.9.4. Castor is an open source data binding framework for Java. Castor provides Java to XML binding, Java to SQL persistence, and then some more. This new version contains major bug fixes as well as new features.
- Improved support for customizable Field Handlers that contains the necessary logic to convert the value read or to be written.
- Extra methods can be generated in the generated beans for a better support of java collections generated by the Source Generator with Castor JDO
- Improved support for XMLInstance2Schema that creates an XML Schema from an instance XML document.
- Add the possibility to specify a custom URIResolver to the Schema Reader to be used when encountering URIs in an <import> or <include> elements.
For a full list of changes, please refer to the Change log at http://www.castor.org/changelog.html
You can download the jar at: ftp://ftp.exolab.org/pub/castor/castor_0.9.4/castor-0.9.4.jar
The full distribution is available on the Exolab FTP site: ftp://ftp.exolab.org/pub/castor/castor_0.9.4
Note that this is the last release without support for the Source Generator Binding File.
Don't hesitate to send us feedback,
There are a couple of articles on Castor via ONJava.com
Using Castor JDO for SQL Mapping
XML Data Binding with Castor
and there are more Castor Articles here
Are many of you using Castor? Do people care that they aren't supporting the Sun JDO, or is do you think "the framework is good, it works, so lets just use it"?
We are using the databinding portion of Castor and love it.
We are currently using another persistance framework. We are looking for something else for certain reasons.
If one codes to interface, etc. switching frameworks (like this one) isn't that difficult or at least it is minimized. As for the fact it isn't Sun's JDO - who cares. They share the same name - that is it. I like Hibernate better, but that is my opinion.
I've used it in two fullblown EJB projects, using it for Java->RDBMS and Java->XML->HTML. Cheaper than the commercial JDO offerings and not from a company that is financially unstable or maintains a "closed source code" policy.
Excellent little support community too.
My company, a big government contractor, uses it for XML Binding, and it is excellent.
A. We define our schema in XML
B. Castor generates Java Beans from the schema
C. We can transform an xml doc (usually the body of a web service) into a java object in a few lines of code. And back again.
Castor xml binding is production ready and easy to use.
I agree about JDO support: who cares? The byte-code manipulation is just another step in my development process I have to worry about. I prefer non-intrusive mechanisms like Castor and Hibernate.
I evaluated Castor a while back and it didn't provide me the kind of documentation I was looking for. I found hibernate (hibernate.sourceforge.net) and it's been everything I've ever wanted in an OR framework and more. Extremely non-intrusive. Includes all kinds of bells and whistles (lazy loading, inheritence mapping, versioning, auto-id generation, etc.). It's also very fast, in my experience. It generates some pretty efficient SQL. I'm so happy to no longer be dealing with recordsets and prepared statements. Prior to using Hibernate I had written a custom OR framework for .NET (which would port very quickly to Java; it doesn't do anything crazy microsoft-specific) that relied on code generation. A LOT of code to deal with generating and a lot of code after generating. Dealing with object relationships (1:N, M:N) was particularly hairy. Hibernate takes care of all of this for me in an incredibly easy fashion. I write simple JavaBean classes and an XML mapping file for each class and I'm done.
If anyone has any bad experience with this sort of framework, or a comparison of frameworks (Castor v Hibernate v ORB by Jakarta) I'd be extremely interested.
I've also had good experiences with Hibernate. I evaluated Castor and OJB and found Hibernate to be much more lightweight and non-intrusive, but also easier to configure and to use than the other frameworks.
I'm very happy with the amount of work that it has already saved me. I've already had to move a several-thousand line Java webapp written with Hibernate from MySQL to Oracle, and I only had to make very minor changes to the code and mappings (less than 30 minutes worth of work) in order to make the switch.
I would love to see your .Net framework. I still have to do things in the MS world and hate having to go back and hand write sql in VB6. I also am annoyed by .Net Dataset stuff. Hibernate or something like it would be great when I gotta use .Net (I have clients who like paying lots to MS - what can I say).
I used it with good success on a (small) project.
No complaints and big thanks to the Hibernate
developers - it beats Entity EJB's any day for me.
Dion Almaer wrote: Are many of you using Castor?
I'm using Castor XML binding, and it is very useful.
I've used Castor on a number of projects (both XML binding and JDO). I haven't really had any issues with it in terms of its architecture, and it has been a great tool for me. It is extremely non-intrusive, which is why I chose it over OJB (which I was evaluating for these projects). OJB definitely seems to be a solid solution, according to people who have used it. The biggest problem that I had with OJB was the fact that it requires its own database tables when you are setting this up. In addition, there was very little in the way of database set up scripts for the databases that I needed to support. Call me lazy, but I really don't want to worry about creating all of those extra tables for an application that needs to be very portable. This was one of the major reasons why I chose Castor for JDO. The fact that it is not spec JDO compliant doesn't really bother me. Sometimes I think we all get too hung up on specs and miss out on a lot of good products. I understand the desire to not get locked in, but the fact that Castor is lightweight and open-source was good enough for me.
As for the user community of Castor, I have found them to be an extremely helpful group. Especially Bruce Snyder, who is the project lead -- he responds to almost every question on the mailing list.
As far as overall issues with Castor, the only area that I have really noticed people having trouble is in very complex relationships between tables. Most of the projects that I have worked on have had fairly straightforward domain models, so it hasn't been a big deal. This also disqualifies me somewhat from commenting on these problems, because I have not encountered them. Maybe somebody else can.
As with almost all frameworks, setting them up to do very simple things is sometimes more work than you want to do. But once you do this, maintainability is SO much easier.
I will have to check out Hibernate. It sounds good too.
I am recently interested in OpenSource O/R mapping tool.
Can somebody compare castor and jakarta OJB framework ?
Has anybody ever used jackarta.apache's OJB? I am interested in it, but have no clue if it even works?
I've read somewhere on struts mailing list that it works great. I will myself only try once the JDO interface is available (they are working on it).
Besides, I have good trust on jakarta products from experience.
Chuck Cavaness developed an online store demo app using Struts and OJB. He contributed it to the Apache-Jakarta's OJB project. I don't remember if it's part of the OJB distribution, but it is available for checkout via CVS.
Where do I find Hibernate?
Hibernate can be found here : http://hibernate.sourceforge.net
FYI, I just ran across a page comparing Cayenne to other similar products (including Castor and Hibernate). Here's the link in case it's helpful :
With JAXB to be released soon is it worth going for non standard Castor.