You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-user@db.apache.org by Brijesh Sood <br...@intersolutions.stpn.soft.net> on 2003/08/28 17:05:51 UTC

Torque Issues ????? need comments

Hi Ashely  , yeah  ur right auto_increment features of ms-access is not
usable at present with Torque , need to use some other way ,
I just want everybody comments how good it is , to use random number
generator like
1.  http://www.javaexchange.com/aboutRandomGUID.html
2. http://www.doomdark.org/doomdark/proj/jug/

for primary key creation as its the only viable way i see to create primary
keys with msaccess-odbc-torque

how good is the accuracy to not generate two same random number ????

Actually application i want to have DB independent java application code (As
application may be ported on any other more commerical used Databases ).

i know about torque only , its the O-R framework can be used  , anyother
framework that can help meee .. what abt JDO does it supports
JDBC-ODBC

Can anyone would list of Pros-Cons using Torque & whats the future of torque
developement , it is right make  use of this framework in commerical
application ??

Waiting for lots of responses ,

Thkx & rgds

Brijesh



From: "Ashley Hayes" <as...@macalla.com>
To: "'Apache Torque Users List'" <to...@db.apache.org>
Sent: Thursday, August 28, 2003 2:58 PM
Subject: RE: MSAccess - Relationship problem with autoincrement


> looking at torque3.1-alpha1 src code,
>
> org.apache.torque.oid.IDGeneratorFactory class defines the following
method
> to get an ID generator:
>
>
>     public static IdGenerator create(DB dbAdapter)
>     {
>         String idMethod = dbAdapter.getIDMethodType();
>         if (IDMethod.AUTO_INCREMENT.equals(idMethod))
>         {
>             return new AutoIncrementIdGenerator(dbAdapter);
>         }
>         else if (IDMethod.SEQUENCE.equals(idMethod))
>         {
>             return new SequenceIdGenerator(dbAdapter);
>         }
>         else
>         {
>             return null;
>         }
>     }
>
>
> it does define the "AUTO_INCREMENT" id type but looking at more src code I
> think it is going to cause problems because the
> org.apache.torque.adapter.DBOdbc ( the DB adapter you use?) returns null
> from method getIDMethodSQL .
>  ( see also getIdAsVillageValue method of
> org.apache.torque.oid.AutoIncrementIdGenerator )
>
> I have no experience with MS Access-JDBC-AutoIncrement,but if you want the
> IDGenerator to work, MS Access needs to support a query on the
AutoIncrement
> fields to get their next value WITHOUT inserting a new record,
>
> e.g. in oracle it is "SELECT MY_TABLE_SEQUENCE_NAME.nextval FROM DUAL" and
> that's what you find in the Torque Oracle DB Adapter
> (org.apache.torque.adapter.DBOracle)
>
>    public String getIDMethodSQL(Object sequenceName)
>     {
>         return ("select " + sequenceName + ".nextval from dual");
>     }
>
> so if MS access does support a query to get an ID, you could extend the
> org.apache.torque.adapter.DBOdbc class
> overriding the method "public String getIDMethodSQL(Object obj)". I don't
> know how to configure the Torque.properties to use this adapter but think
> its easy...
>
>
> am no expert but hope this helps,
> Ashley
>
> p.s. have a look at the latest code for the above classes, but don't think
> they will have implemented the auto increment for ODBC as unless the ID
> generation query was made configurable.
>
>
>
>
>
>
>
>
>
> -----Original Message-----
> From: Brijesh Sood [mailto:brijesh_sood@intersolutions.stpn.soft.net]
> Sent: 28 August 2003 04:55
> To: Apache Torque Users List
> Subject: Re: MSAccess - Relationship problem with autoincrement
>
>
> Hi Russel , Yea firstly i was using native as the IdGenerator , SQL schema
> generated is same either u use native or none , i have to make
> primarykey as autoincrement type and when i test my program for
insertation
> of data with idGenerator defaultIdMethod="native"
> it gives me error
> org.apache.torque.TorqueException: IdGenerator for table 'Projects' is
null
>         at org.apache.torque.util.BasePeer.doInsert(BasePeer.java:690)
>         at com.petris.BaseProjectsPeer.doInsert(BaseProjectsPeer.java:216)
>         at com.petris.BaseProjectsPeer.doInsert(BaseProjectsPeer.java:564)
>         at com.petris.BaseProjects.save(BaseProjects.java:313)
>         at com.petris.BaseProjects.save(BaseProjects.java:275)
>         at com.petris.BaseProjects.save(BaseProjects.java:255)
>         at com.petris.TestDB.main(TestDB.java:30)
> dont know where i m making mistake , u have any idea ,????
>
> can u check this ...
> is there any other setting ...?
> waiting for reply
> thanks
> brijesh
>
>
>
>
> From: "Russell Simpkins" <Ru...@funnygarbage.com>
> To: "Apache Torque Users List" <to...@db.apache.org>
> Sent: Wednesday, August 27, 2003 7:26 PM
> Subject: RE: MSAccess - Relationship problem with autoincrement
>
>
>
> Did you try setting the defaultIdMethod="native" when you set it to "none"
> it really means "none".
>
>
>
> -----Original Message-----
> From: Brijesh Sood [mailto:brijesh_sood@intersolutions.stpn.soft.net]
> Sent: Wednesday, August 27, 2003 7:52 AM
> To: torque-user@db.apache.org; hps@intermeta.de
> Subject: MSAccess - Relationship problem with autoincrement
>
>
> Hi Everybody , need urgent help ,someone can get sometime & help me it
would
> be very appreciated
>
> I m using Torque-3.0.2 with Odbc and MsAccess as the database.
> want to use MsAccess Autonumber as the primary key for all tables i have
and
> this key would be the part of relationship exists
> between different tables
> ,
> In my database schema defined have two tables Projects , Segments
>
> 1:N
> there is one to many relationship between projects to segments table
> projects---------->segments
>
> Somehome i am able to configure torque properties file build.properties ,
> torque.properties
> created project DB Schema file  As Follow , I don't want to use
IdGenerator
> service and its not supported as i found with my DB
> so i made defaultIdMethod as none, My db sql file generated containing
> primary key field with integer type but i changed this to
> autoincrement & created my tables with insert-sql command the table
> generated in msaccess contains projectID in projects and segmentID
> in segments table is autoincrement type ,
>
>
> Original                             changed to >>>>>>>>>>
> CREATE TABLE projects                            CREATE TABLE projects
> (                                                {
>     projectID integer,                                projectID
> autoincrement,
>     projectCode VARCHAR (128),                        projectCode VARCHAR
> (128),
>     projectName VARCHAR (128),                        projectName VARCHAR
> (128),
>     PRIMARY KEY(projectID)                            PRIMARY
KEY(projectID)
> );                                                );
>  this changes i made to make create table with primary key autoincrement
> type
>
> now i wrote a sample application to test the relationship between this two
> tables
>
>       Projects projects = new Projects ();
>       projects.setProjectname("Addison ");
>       projects.setProjectcode("Project");
>       projects.save();
>
>      Segments segments = new Segments ();
>       segments.setSegmentname("segments ");
>       segments.save();
>
>      segments.setProjects(projects); // setting relationship
>
> System.out.println("Project Primary key : "+projects.getProjectid());
> ======>>> Project Primary key : 0
>
> after checking the MsAccess db i find the Foriegn Key projectID  in the
> Segments table is 0 , i have tried to
> print the primarykey value of projectID from projects tables it showing 0
> after the insertation of record ,
>
> I dont know why after insertation of record its not synching the primary
key
> value with projectID field which is autonumber field
> generated by MsAccess & i would be used for the relationship management
> between different tables. where is the problem , how to
> use MsAccess Autoincrement Fields as the primary .....
> I have written everything in very details ,if  something is missing pls
mail
> mee back i can provide the whole thing , its very important for meto
resolve
> this issue.
> waiting for reply
>
> Rgds
> Brijesh Sood
>
>
> <?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
> <!DOCTYPE database SYSTEM  "c:/torque/dtd/database_3_0_1.dtd">
> <database  name="redms"  defaultIdMethod="none">
>
>   <table name="projects" description="Projects Table" >
>     <column
>       name="projectID"
>       required="true"
>       primaryKey="true"
>       type="INTEGER"
>       description="projectID"/>
>     <column
>       name="projectCode"
>       required="true"
>       type="VARCHAR"
>       size="128"
>       description="Project Code"/>
>
>     <column
>       name="projectName"
>       required="true"
>       type="VARCHAR"
>       size="128"
>       description="Project Name"/>
>   </table>
>
>   <!---Segment Table -->
>   <table name="segment" description="Segment Table">
>     <column
>       name="segmentID"
>       required="true"
>       primaryKey="true"
>       type="INTEGER"
>       description="segmentID"/>
>
>     <column
>       name="segmentName"
>       required="true"
>       type="VARCHAR"
>       size="128"
>       description="Segment Name"/>
>
>     <column
>       name="projectID"
>       required="true"
>       type="INTEGER"
>       description="Foreign Key GIS1 Projects Table"/>
>
>     <foreign-key foreignTable="projects">
>       <reference
>         local="projectID"
>         foreign="projectID"/>
>     </foreign-key>
>   </table>
> </database>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org


Re: Torque Issues ????? need comments

Posted by Dave Newton <da...@solaraccess.com>.
On Thu, 2003-08-28 at 11:05, Brijesh Sood wrote:
> how good is the accuracy to not generate two same random number ????

Hopefully right around 1 in biggest_rnd_num...   :D

> Can anyone would list of Pros-Cons using Torque & whats the future of
> torque developement , it is right make  use of this framework in
> commerical application ??

My ex-company's new website will be using Torque. By using it and some
small Torque-aware utilities they were able to reduce development time
because all the DB stuff was abstracted away.

Also, DB creation is taken care of in a (mostly) platform-neutral way,
and DB design can take place in a (non-developer)-friendly environment
if necessary.

> i know about torque only , its the O-R framework can be used  , anyother
> framework that can help meee .. 

Hibernate approaches the problem from a different angle which may or may
not suit your needs. Torque seems fairly "table-oriented," and uses
plain old SQL to do its work, which means all sorts of existing SQL
tools can be used trivially, and that was great for us.

Hibernate seemed (for us at that time, anyway) more object-oriented that
I plan to use in my next application as its persistence layer.

Just our opinion, though, and my memory of the discussion fades rapidly.

Dave



---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org