You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by th...@apache.org on 2003/01/31 07:56:49 UTC

cvs commit: jakarta-ojb/xdocs faq.xml

thma        2003/01/30 22:56:49

  Modified:    xdocs    faq.xml
  Log:
  - restructuring faq
  - adding new q & a
  
  Revision  Changes    Path
  1.12      +60 -6     jakarta-ojb/xdocs/faq.xml
  
  Index: faq.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-ojb/xdocs/faq.xml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- faq.xml	21 Dec 2002 16:17:34 -0000	1.11
  +++ faq.xml	31 Jan 2003 06:56:49 -0000	1.12
  @@ -10,23 +10,43 @@
    <body>
   
     <section name="Frequently Asked Questions" anchor="faq">
  +  <p><b>General</b></p>
  +  <ul>
  +    <li><a href="#3">Why OJB? Why do we need another O/R mapping tool?</a></li>
  +    <li><a href="#8">How is OJB related to ODMG and JDO?</a></li>
  +    <li><a href="#17">What are the OJB design principals?</a></li>
  +    <li><a href="#18">Where can I learn more about Object/Relational mapping in general?</a></li>
  +  
  +  </ul>
  +  
  +  <p><b>Getting started</b></p>
      <ul>
       <li><a href="#1">Help! I'm having problems installing and using OJB!</a></li>
       <li><a href="#2">Help! I still have serious problems installing OJB!</a></li>
  -    <li><a href="#3">Why OJB? Why do we need another O/R mapping tool?</a></li>
       <li><a href="#4">Does OJB support my RDBMS?</a></li>
  +    <li><a href="#10">What are the OJB internal tables for?</a></li>
  +
  +	</ul> 
  +	 
  +  <p><b>OJB APIs</b></p>
  +  <ul>
  +    <li><a href="#9">What are the differences between the PersistenceBroker API and the ODMG API? Which one should I use in my applications?</a></li>
  +    <li><a href="#15">I don't like OQL, can I use the PersistenceBroker Queries within ODMG?</a></li>
  +    <li><a href="#16">The OJB JDO implementation is not finished, how can I start using OJB?</a></li>
  +  
  +  </ul>
  +  
  +  <p><b>Howto</b></p>  
  +  <ul>
       <li><a href="#5">How to use OJB with my RDBMS?</a></li>
       <li><a href="#6">How to page and sort?</a></li>
       <li><a href="#7">What about performance and memory usage if thousands of objects matching a query are returned as a Collection?</a></li>
  -    <li><a href="#8">How is OJB related to ODMG and JDO?</a></li>
  -    <li><a href="#9">What are the differences between the PersistenceBroker API and the ODMG API? Which one should I use in my applications?</a></li>
  -    <li><a href="#10">What are the OJB internal tables for?</a></li>
       <li><a href="#11">When is it helpful to use Proxy Classes?</a></li>
       <li><a href="#12">How can I convert data between RDBMS and OJB?</a></li>
       <li><a href="#13">How can I trace and/or profile SQL statements executed by OJB?</a></li>
       <li><a href="#14">How does OJB manage foreign keys?</a></li>
  -    <li><a href="#15">I don't like OQL, can I use the PersistenceBroker Queries within ODMG?</a></li>
  -    <li><a href="#16">The OJB JDO implementation is not finished, how can I start using OJB?</a></li>
  +    <li><a href="#19">How can Collections of primitive typed elements be mapped?</a></li>
  +    
      </ul>
   
      <subsection name="Help! I'm having problems installing and using OJB!" anchor="1">
  @@ -199,6 +219,40 @@
        </ul>
       </p>
      </subsection>
  +
  +   <subsection name="What are the OJB design principals?" anchor="17">
  +    <p>
  +    OJB has a "pattern driven" design. 
  +    <a href="links.html#design">Please refer to this document for more details</a>
  +    </p>
  +   </subsection>
  +
  +   <subsection name="Where can I learn more about Object/Relational mapping in general?" anchor="18">
  +    <p>
  +    <a href="links.html#further readings on O/R mapping">We have a link list pointing to further readings.</a>
  +    </p>
  +   </subsection>
  +
  +   <subsection name="How can Collections of primitive typed elements be mapped?" anchor="19">
  +    <p>
  +		The first thing to ask is:
  +		How are these primitive typed elements (Strings are also treated as primitive types here) 
  +		stored in the database.<br/>
  +		1) are they treated as ordinary domain objects and stored in a separate table?<br/>
  +		2) are they serialized into a Varchar field?<br/>
  +		3) are they stored as a comma separated varchar field?<br/>
  +		4) is each element of the vector or array stored in a separate column? 
  +		(this solution does only work for a fixed number of elements!)<br/>
  +		<br/>
  +		Follow these steps for solution 3):<br/>
  +		a) simply define ordinary collection-descriptors as for every other collection of domain objects.<br/>
  +		b) use the Object2ByteArrFieldConversion. See jdbc-types.html for details on conversion strategies.<br/>
  +		c) use the StringVector2VarcharFieldConversion. See jdbc-types.html for details on conversion strategies.<br/>
  +		d) provide a field-descriptor for each element.
  +
  +    </p>
  +   </subsection>
  +
   
      <subsection name="Does OJB support my RDBMS?" anchor="4">
       <p>