<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Java At Productive Edge</title>
	<atom:link href="http://java.productiveedge.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://java.productiveedge.com</link>
	<description>Igor Polevoy on Java, Productive Edge</description>
	<lastBuildDate>Fri, 24 Jun 2011 18:07:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>ActiveJDBC gets support for H2 database</title>
		<link>http://java.productiveedge.com/?p=88</link>
		<comments>http://java.productiveedge.com/?p=88#comments</comments>
		<pubDate>Wed, 22 Jun 2011 19:08:35 +0000</pubDate>
		<dc:creator>Igor Polevoy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ActiveJDBC]]></category>
		<category><![CDATA[ActiveRecord]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[H2]]></category>
		<category><![CDATA[JDBC]]></category>

		<guid isPermaLink="false">http://java.productiveedge.com/?p=88</guid>
		<description><![CDATA[Until recently, ActiveJDBC supported three databases: MySQL, Oracle and PostgreSQL. However, being a true open source project, ActiveJDBC welcomes suggestions and contributions from the community. Recent collaboration with a developer Phil Suh resulted in adding support for a new database: H2. H2 is an important database because of number of reasons, such as: it is [...]]]></description>
			<content:encoded><![CDATA[<p>Until recently, <a href="http://code.google.com/p/activejdbc/">ActiveJDBC</a> supported three databases: MySQL, Oracle and PostgreSQL. However, being a true open source project, ActiveJDBC welcomes suggestions and contributions from the community. Recent collaboration with a developer <a href="http://www.linkedin.com/in/philsuh">Phil Suh</a> resulted in adding support for a new database: <a href="http://www.h2database.com/html/main.html">H2.</a> H2 is an important database because of number of reasons, such as: it is implemented in Java, meaning that installation can be done on any OS, it is also fast, super friendly, but more interestingly, it can run in the embedded mode.</p>
<p>Now, developers using ActiveJDBC can use H2 in a standard client/server mode, or they can also choose to run it in embedded mode.</p>
<p>Most development was done by Phil, and integration done by me.</p>
<p>enjoy</p>
<p>Igor</p>
]]></content:encoded>
			<wfw:commentRss>http://java.productiveedge.com/?feed=rss2&#038;p=88</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introducing ActiveWeb &#8211; framework for rapid web development in Java</title>
		<link>http://java.productiveedge.com/?p=80</link>
		<comments>http://java.productiveedge.com/?p=80#comments</comments>
		<pubDate>Sat, 16 Apr 2011 23:41:45 +0000</pubDate>
		<dc:creator>Igor Polevoy</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[RoR Java]]></category>

		<guid isPermaLink="false">http://java.productiveedge.com/?p=80</guid>
		<description><![CDATA[A day has come for all good men (pat on the shoulder)&#8230; to announce ActiveWeb. For those who do not know what this is, ActiveWeb is a Java framework for rapid development of web applications. The reasons why I developed it are many, but dis-satisfaction with the current (bizarre) state of affairs in Java is [...]]]></description>
			<content:encoded><![CDATA[<p>A day has come for all good men (pat on the shoulder)&#8230; to announce ActiveWeb. For those who do not know what this is, ActiveWeb is a Java framework for rapid development of web applications. The reasons why I developed it are many, but dis-satisfaction with the current (bizarre) state of affairs in Java is a main one. On the one hand, the  number of Java Web frameworks is mind boggling, on the other, each and every one of them is weird one way or another. Unfortunately they all suffer from a few common deficiencies:</p>
<ul>
<li>They usually solve only one problem</li>
<li>They need to be integrated with one another</li>
<li>Mostly do not support TDD/BDD</li>
<li>Mostly not full stack</li>
</ul>
<p>I&#8217;m sure there is more, but  these are first that come to mind. Let me pick one after another:</p>
<ul>
<li><strong>They usually solve only one problem</strong></li>
</ul>
<p>Lets say we choose JSF. This is a standard proposed by Sun based on the design by Craig R. McClanahan &#8211; the same guy who in 1998 &#8211; 1999 architected Struts 1. While JSP seems an improvement ove Struts 1, there are certain problems this technology has:</p>
<ol>
<li>JSF generates HTML, an pretty ugly one too. Asking an HTML designer to make a JSF page look pixel perfect is asking impossible.</li>
<li>JSF serves a component state in HTML (taxing Internet traffic) or server (allocating RAM)</li>
<li>JSF does not solves only one problem: accepting a request and rendering.</li>
</ol>
<p>Unfortunately JSF has become a &#8220;standard&#8221; and there are many Java shops that fight it on a daily basis.</p>
<ul>
<li><strong>They need to be integrated with one another</strong></li>
</ul>
<p>Since in a typical web project  (even the simplest one), you have many standard requirements, you need more than one framework integrated together. For example, Struts + Spring + Hibernate + Log4J&#8230; or RichFaces + Seam + Hibernate&#8230;. or  [insert your stack here].</p>
<p>As you can see, it would be nice to push the button and have a complete working hello world project integrated all in one: View technology, Stuff in the middle, DB access (and a good on at that), first class testing support, logging, monitoring, security, etc.</p>
<p>These are all the things we need for web applications, and support exists in a variety of different frameworks. Unfortunately they are all disparate, and require a significant effort to integrate together before you can even write your first Hello World.</p>
<ul>
<li><strong>Mostly do not support TDD/BDD</strong></li>
</ul>
<p>When I learned Ruby on Rails, I was surprised by many things, but the biggest surprise came from integrated framework for testing of <strong><em>all aspects</em></strong> of a web application. This seemingly simple concept blew me away. While Java is a general purpose language and it has a lot of support for general programming, I&#8217;m yet to see a decent testing framework that is also integrated with a web framework&#8230; and which has also been developed specifically for web applications. For example, in a regular Java project it is usually numbingly hard to write a simple test that would allow to simulate a web request, invoke some tested functionality, allow the application to <strong>generate data in DB, and HTML by the view and then verify that the data in DB is correct and the structure and content of HTML are correct as well.</strong> One <strong><em>would think,</em></strong> that this is the<strong> most basic of requirements for a web development framework,</strong> but unfortunately this is <strong>non-existent in the Java world</strong>.</p>
<ul>
<li><strong>Mostly not full stack</strong></li>
</ul>
<p>Most Java web frameworks are not full stack. What does this mean? In a typical web project there are many requirements:</p>
<ol>
<li> Need to render view</li>
<li>Need to write business logic</li>
<li>Need to save to DB</li>
<li>Need to manage transactions/security</li>
<li>Need to log to files</li>
<li>Need to write tests</li>
<li>&#8230; add your need here</li>
</ol>
<p>Unfortunately, most frameworks only solve #1. There are however a few notable exceptions, such as JBoss Seam, Play Framework and Grails. The disadvantage with Seam is mostly that it centered around JBoss technologies and JBoss server, but the biggest problem  IMHO is a marriage of Seam and JSF. This means difficult HTML to work with, potential scalability problems, ugly URLs, non-REST requests, etc.  Grails is almost an exact copy of Ruby on Rails but for Groovy language. As such, Grails has all the implementations of a great web development framework. However, developers looking at Grails need to make a choice to switch to another language. Groovy is similar to Java in syntax, but has dynamic language features like those in Ruby. While learning Groovy is easier than learning Ruby for a Java developer, picking Grails still means switching to a different language. The third choice is Play Framework. What can I say.. this is a great framework and I&#8217;m surprised it is not as popular as I thought it could/should be. I discovered Play! half way through development of ActiveWeb, and found that there are many similarities. These similarities are mostly because both Play and ActiveWeb chose Ruby on Rails as a model to be replicated in Java. Both ActiveWeb and Play have their merits (I will write a blog on differences one day), and Java developers now have two choices to be a lot more productive while sticking with Java language.</p>
<p>Whew! If you got here, I take my hat off!</p>
<p>The ActiveWeb has a new home as of a couple of weeks ago, and documentation will be coming in the following days/weeks. The new home is on Google Code: <a title="ActiveWeb" href="http://code.google.com/p/activeweb/">http://code.google.com/p/activeweb/</a></p>
<p>Enjoy,</p>
<p>Igor</p>
<p>.</p>
]]></content:encoded>
			<wfw:commentRss>http://java.productiveedge.com/?feed=rss2&#038;p=80</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JSON gods have been appeased!</title>
		<link>http://java.productiveedge.com/?p=73</link>
		<comments>http://java.productiveedge.com/?p=73#comments</comments>
		<pubDate>Thu, 24 Feb 2011 05:15:37 +0000</pubDate>
		<dc:creator>Igor Polevoy</dc:creator>
				<category><![CDATA[ActiveJDBC]]></category>
		<category><![CDATA[ActiveRecord]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ORM]]></category>
		<category><![CDATA[Active Record]]></category>
		<category><![CDATA[JDBC]]></category>
		<category><![CDATA[JSON]]></category>

		<guid isPermaLink="false">http://java.productiveedge.com/?p=73</guid>
		<description><![CDATA[ActiveJDBC gets built in JSON generation, here is a simple example: Person p = (Person)Person.findById(1); String xml = p.toJson(true); will generate this: { "type":"activejdbc.test_models.Person", "id":"1", "updated_at":"2011-02-23 22:18:11.0", "graduation_date":"1954-12-01", "name":"John", "dob":"1934-12-01", "last_name":"Smith", "created_at":"2011-02-23 22:18:11.0" } The functionality is quite similar to that of the toXml() method, and more options are available, including specifying what attributes you [...]]]></description>
			<content:encoded><![CDATA[<p>ActiveJDBC gets built in JSON generation, here is a simple example: </p>
<pre class="brush:java">
Person p  = (Person)Person.findById(1);
String xml = p.toJson(true);
</pre>
<p>will generate this:</p>
<pre class="brush:js">
{
  "type":"activejdbc.test_models.Person",
  "id":"1",
  "updated_at":"2011-02-23 22:18:11.0",
  "graduation_date":"1954-12-01",
  "name":"John",
  "dob":"1934-12-01",
  "last_name":"Smith",
  "created_at":"2011-02-23 22:18:11.0"
}
</pre>
<p>The functionality is quite similar to that of the toXml() method, and more options are available, including specifying what attributes you want, pretty/ugly formats and inclusion of children. for more information, look here: <a href="http://code.google.com/p/activejdbc/wiki/GenerationOfJson">GenerationOfJson</a></p>
<p>enjoy,<br />
igor</p>
]]></content:encoded>
			<wfw:commentRss>http://java.productiveedge.com/?feed=rss2&#038;p=73</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Collect statistics on your queries in ActiveJDBC</title>
		<link>http://java.productiveedge.com/?p=66</link>
		<comments>http://java.productiveedge.com/?p=66#comments</comments>
		<pubDate>Fri, 11 Feb 2011 15:19:20 +0000</pubDate>
		<dc:creator>Igor Polevoy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://java.productiveedge.com/?p=66</guid>
		<description><![CDATA[ActiveJDBC has had a truly little hidden(till now) gem for reporting on query performance. It is called Statistics Queue. If configured, it will collect statistical information on queries executed and then make it available for reporting. We built a simple UI page that helps us see all the queries recorded in the queue. This page [...]]]></description>
			<content:encoded><![CDATA[<p>ActiveJDBC has had a truly little hidden(till now) gem  for reporting on query performance. It is called Statistics Queue. If configured, it will collect statistical information on queries executed and then make it available for reporting. We built a simple UI page that helps us see all the queries recorded in the queue. This page makes it easy to sort all queries by total, average, minimum and maximum times they took to execute. The API to get the reporting is simple:</p>
<pre class="brush:java">
List<QueryStats>  statistics = Registry.instance().getStatisticsQueue().getReportSortedBy("avg");
</pre>
<p>The argument for the method <code>getReportSortedBy("avg")</code> can be either one of these: &#8220;total&#8221;, &#8220;avg&#8221;, &#8220;min&#8221;, &#8220;max&#8221;, &#8220;count&#8221;, which makes this easy to sort your queries any way you like. </p>
<p>This tool helps to get to the bottom of performance problems.<br />
For more information, take a look at <a href="http://code.google.com/p/activejdbc/wiki/StatisticsReporting?ts=1297437550&#038;updated=StatisticsReporting">Statistics Reporting</a>  page.<br />
Happy coding</p>
<p>Igor </p>
]]></content:encoded>
			<wfw:commentRss>http://java.productiveedge.com/?feed=rss2&#038;p=66</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActiveJDBC gets XML generation</title>
		<link>http://java.productiveedge.com/?p=61</link>
		<comments>http://java.productiveedge.com/?p=61#comments</comments>
		<pubDate>Wed, 10 Nov 2010 03:01:44 +0000</pubDate>
		<dc:creator>Igor Polevoy</dc:creator>
				<category><![CDATA[ActiveJDBC]]></category>
		<category><![CDATA[ActiveRecord]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[ORM]]></category>

		<guid isPermaLink="false">http://java.productiveedge.com/?p=61</guid>
		<description><![CDATA[While development on this project is an ongoing effort, I do not always have time to blog about new functionality. However, XML generation is something that is really useful for REST Web services. Having this built directly into the ORM layer spares additional programming, reliance on new dependency and in general promotes the light weight [...]]]></description>
			<content:encoded><![CDATA[<p>While development on this project is an ongoing effort, I do not always have time to blog about new functionality. However, XML generation is something that is really useful for REST Web services. Having this built directly into the ORM layer spares additional programming, reliance on new dependency and in general promotes the light weight style of development. I also tried to ensure that the API themselves are lightweight. Here is an example:</p>
<pre class="brush:java">
Person p  = Person.findById(1);
String xml = p.toXml(2, true);
</pre>
<p>This is simple and self &#8211; explanatory. The first parameter is a number of spaces to use for indentation, and second  &#8211; whether to pre-pend the XML declaration. </p>
<p>Of course there is more to it than meets the eye. The LazyList also got the same method, allowing to convert a list of models into XML.</p>
<p>For more information, please refer to:<br />
<a href="http://code.google.com/p/activejdbc/wiki/GenerationOfXml">http://code.google.com/p/activejdbc/wiki/GenerationOfXml</a></p>
<p>Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://java.productiveedge.com/?feed=rss2&#038;p=61</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ActiveJDBC Validations  go I18N!</title>
		<link>http://java.productiveedge.com/?p=41</link>
		<comments>http://java.productiveedge.com/?p=41#comments</comments>
		<pubDate>Sat, 25 Sep 2010 05:07:40 +0000</pubDate>
		<dc:creator>Igor Polevoy</dc:creator>
				<category><![CDATA[ActiveJDBC]]></category>
		<category><![CDATA[ActiveRecord]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ORM]]></category>
		<category><![CDATA[JDBC]]></category>

		<guid isPermaLink="false">http://java.productiveedge.com/?p=41</guid>
		<description><![CDATA[A few days ago I added new functionality to AJ &#8211; something that bothered me for some time. This has to do with the validation framework. The original implementation had a rather simplistic approach where you just attached a validation message to a validation declaration like so: public class Temperature extends Model{ static{ validateRange("temp", 10, [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago I added new functionality to AJ  &#8211; something that bothered me for some time. This has to do with the validation framework. The original implementation had a rather simplistic approach where you just attached a validation message to a validation declaration like so:</p>
<pre class="brush:java">
public class Temperature extends Model{
   static{
      validateRange("temp", 10, 2000).message("Temperature is outside the limit");
   }
}
</pre>
<p>However, this is good for a simple English &#8211; only apps, but certainly insufficient for other languages. So, I rolled up my sleeves and extended these features to provide real internationalization based on Java Resource Bundles.<br />
This new feature allows to enter a resource bundle key instead of a phrase like this:</p>
<pre class="brush:java">
public class Temperature extends Model{
   static{
      validateRange("temp", 10, 2000).message("temperature.outside.limits");
   }
}
</pre>
<p>All you need to do is to provide localized (.. or localised <img src='http://java.productiveedge.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) property files, as usual in Java:</p>
<pre class="brush:java">
#activejdbc_messages.properties:
temperature.outside.limits = Temperature is outside acceptable limits, while it needs to be between {0} and {1} for user: {2}
</pre>
<p>and then voilà, you can get your localized message:</p>
<pre class="brush:java">
String user = "Tom";
Temperature temp = new Temperature();
if(!temp.save()){
   String message = temp.errors().get("temp", user);
   System.out.println(message);// prints: Temperature is outside acceptable limits, while it needs to be between 10 and 2000 for user: Tom
}
</pre>
<p>The code above uses default locale (en, US).<br />
As you can see, the first two parameters in the message were filled out by the validator, while the third one was provided on the fly. This function is called &#8220;Split Parameters&#8221;, and was suggested for implementation by Evan Leonard.<br />
If you used a German bundle:</p>
<pre class="brush:java">
#activejdbc_messages_de_DE.properties:
temperature.outside.limits = Die Temperatur liegt außerhalb akzeptabler Grenzen, während es sein muss zwischen {0} und {1}
</pre>
<p>&#8230; and the way to get this message is to provide a locale to the <code>errors(locale)</code> method:</p>
<pre class="brush:java">
Temperature temp = new Temperature();
temp.set("temp", 5000);
if(!temp.save()){
   String message = temp.errors(new Locale("de", "DE")).get(temp); //<<<=== provide locale
   System.out.println(message);// prints: Die Temperatur liegt außerhalb akzeptabler Grenzen, während es sein muss zwischen 10 und 2000
}
</pre>
<p>I also ensured that the new implementation is backwards compatible. If it does not find a key in the bundle, it will print the passed in message verbatim.<br />
For more in this, follow to <a href="http://code.google.com/p/activejdbc/wiki/Validations">ActiveJDBC Validations</a></p>
<p>Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://java.productiveedge.com/?feed=rss2&#038;p=41</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CJUG  presentation went well, with healthy attendance</title>
		<link>http://java.productiveedge.com/?p=37</link>
		<comments>http://java.productiveedge.com/?p=37#comments</comments>
		<pubDate>Sat, 25 Sep 2010 04:39:13 +0000</pubDate>
		<dc:creator>Igor Polevoy</dc:creator>
				<category><![CDATA[ActiveJDBC]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ActiveRecord]]></category>
		<category><![CDATA[JDBC]]></category>
		<category><![CDATA[ORM]]></category>

		<guid isPermaLink="false">http://java.productiveedge.com/?p=37</guid>
		<description><![CDATA[This finally happened, I posted the slides on the project page: CJUG presentation on ActiveJDBC at Thoughworks. There was a full house, and the presentation took longer than planned b/c people were asking a lot of questions. Could this be that Java world is really ready for a new ORM? I hope so. The Google [...]]]></description>
			<content:encoded><![CDATA[<p>This finally happened, I posted the slides on the project page:<br />
<a href="https://activejdbc.googlecode.com/svn/trunk/doc/activejdbc-cjug.pdf.">CJUG presentation on ActiveJDBC at Thoughworks</a>.<br />
There was a full house, and the presentation took longer than planned b/c people were asking a lot of questions.<br />
Could this be that Java world is really ready for a new ORM? I hope so.</p>
<p>The Google Groups support forum is pretty busy now days, check this out:<br />
<a href="http://groups.google.com/group/activejdbc-group">ActiveJDBC Forum</a></p>
<p>Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://java.productiveedge.com/?feed=rss2&#038;p=37</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CJUG accepted proposal for a presentation</title>
		<link>http://java.productiveedge.com/?p=33</link>
		<comments>http://java.productiveedge.com/?p=33#comments</comments>
		<pubDate>Thu, 12 Aug 2010 04:07:38 +0000</pubDate>
		<dc:creator>Igor Polevoy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.productiveedge.com/java/?p=33</guid>
		<description><![CDATA[CJUG &#8211; the Chicago Java User Group accepted my offer for a presentation on ActiveJDBC (ActiveRecord for Java). Presentation will take place on August 17th, at Thoughtworks. Details are here: http://www.cjug.org/Wiki.jsp?page=2010.08.17.downtown Those wishing to attend, can RSVP here: http://gathers.us/events/cjug-activejdbc See ya there! igor]]></description>
			<content:encoded><![CDATA[<p>CJUG &#8211; the Chicago Java User Group accepted my offer for a presentation on ActiveJDBC (ActiveRecord for Java).<br />
Presentation will take place on August 17th, at Thoughtworks. Details are here:<br />
<a href="http://www.cjug.org/Wiki.jsp?page=2010.08.17.downtown">http://www.cjug.org/Wiki.jsp?page=2010.08.17.downtown</a></p>
<p>Those wishing to attend, can RSVP here:<br />
<a href="http://gathers.us/events/cjug-activejdbc">http://gathers.us/events/cjug-activejdbc</a></p>
<p>See ya there!<br />
igor</p>
]]></content:encoded>
			<wfw:commentRss>http://java.productiveedge.com/?feed=rss2&#038;p=33</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More ActiveJDBC documentation added</title>
		<link>http://java.productiveedge.com/?p=29</link>
		<comments>http://java.productiveedge.com/?p=29#comments</comments>
		<pubDate>Thu, 12 Aug 2010 04:03:28 +0000</pubDate>
		<dc:creator>Igor Polevoy</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.productiveedge.com/java/?p=29</guid>
		<description><![CDATA[I started to go a bit more aggressively regarding documentation, and added a few more pages covering core functionality: http://code.google.com/p/activejdbc/wiki/Features I should be almost done in the coming week cheers, Igor]]></description>
			<content:encoded><![CDATA[<p>I started to go a bit more aggressively regarding documentation, and added a few more pages covering core functionality:<br />
<a href="http://code.google.com/p/activejdbc/wiki/Features">http://code.google.com/p/activejdbc/wiki/Features</a><br />
I should be almost done in the coming week</p>
<p>cheers,</p>
<p>Igor</p>
]]></content:encoded>
			<wfw:commentRss>http://java.productiveedge.com/?feed=rss2&#038;p=29</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActiveJDBC documentation started to get shaped</title>
		<link>http://java.productiveedge.com/?p=21</link>
		<comments>http://java.productiveedge.com/?p=21#comments</comments>
		<pubDate>Wed, 28 Jul 2010 18:22:09 +0000</pubDate>
		<dc:creator>Igor Polevoy</dc:creator>
				<category><![CDATA[ActiveJDBC]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ActiveRecord]]></category>
		<category><![CDATA[ORM]]></category>

		<guid isPermaLink="false">http://www.productiveedge.com/java/?p=21</guid>
		<description><![CDATA[I started to publish documentation for ActiveJDBC, the first article on One to Many relationship. It can be located here: http://code.google.com/p/activejdbc/wiki/OneToManyAssociation In the coming days &#8211; weeks I will publish documentation for all ActiveJDBC features. Happy coding! igor]]></description>
			<content:encoded><![CDATA[<p>I started to publish documentation for ActiveJDBC, the first article on One to Many relationship. It can be located here:<br />
<a href="http://code.google.com/p/activejdbc/wiki/OneToManyAssociation">http://code.google.com/p/activejdbc/wiki/OneToManyAssociation</a><br />
In the coming days &#8211; weeks I will publish documentation for all ActiveJDBC features.</p>
<p>Happy coding!</p>
<p>igor</p>
]]></content:encoded>
			<wfw:commentRss>http://java.productiveedge.com/?feed=rss2&#038;p=21</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

