Not sure, but maybe I should try that way.
-----Original Message-----
From: Huy Do [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, November 14, 2001 4:00 PM
To: Turbine Users List
Subject: RE: Peer.doInsert() throwing "DB Insert attempted w/o anything
specified to insert" Exception
When I insert things into the DB using Peer objects, I do the following:
--------
ProductDocument prodDoc = new ProductDocument(); //the OM object
prodDoc.setDocumentId("2000");
prodDoc.setProductId("3000");
prodDoc.setNew(true);
prodDoc.setModified(false);
prodDoc.save();
--------
Is this the standard way (most popular) ?
Thanks
Huy
> -----Original Message-----
> From: Tom Keeney [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, 15 November 2001 5:47 AM
> To: Turbine Users List
> Subject: RE: Peer.doInsert() throwing "DB Insert attempted w/o
anything
> specified to insert" Exception
>
>
> Well folks, I hacked at the problem and finally I had success. The
> conclusion was rather interesting so I thought I'd share it with
> everyone.
>
> Here's what I did:
>
> 1) I put a System.out.println() in BasePeer.doInsert() and realized
that
> passing an OM object through the peer results in a null Criteria. In
> other words,
>
> ProductDocument prodDoc = new ProductDocument(); //the OM object
>
> prodDoc.setDocumentId("2000");
> prodDoc.setProductId("3000");
>
> ProductDocumentPeer.doInsert(prodDoc) // <------ you get a null
> Criteria here so the insert fails
>
>
> 2) Therefore, I passed a Criteria into the peer and I had success!
>
> Criteria crit = new Criteria();
> crit.add(ProductDocumentPeer.DOCUMENT_ID, "2000");
> crit.add(ProductDocumentPeer.PRODUCT_ID, "3000");
> ProductDocumentPeer.doInsert(crit);
>
>
> Note that this problem occurred on a join table (ProductDocument in
this
> case) with a combined primary key (Document_ID and Product_ID). This
> problem did not occur in a "normal" table with a single primary key.
In
> other words, I was able to do the following:
>
> Document doc = new Document();
>
> //set doc values....
>
> DocumentPeer.doInsert(doc);
>
>
> Perhaps this is a bug? Any ideas?
>
> Thanks,
> Tom
>
>
> -----Original Message-----
> From: Tom Keeney
> Sent: Wednesday, November 14, 2001 12:19 PM
> To: [EMAIL PROTECTED]
> Subject: Peer.doInsert() throwing "DB Insert attempted w/o anything
> specified to insert" Exception
>
>
> Hello all,
>
> My Peer object is throwing the exception specified in the Subject line
> when I run the following code:
>
> ProductDocument prodDoc = new ProductDocument();
>
> try
> {
> prodDoc.setDocumentId("2000");
> prodDoc.setProductId("3000");
>
> System.out.println("prodDoc: " +
> prodDoc.toString());
> System.out.println("documentid: " +
> prodDoc.getDocumentId().toString());
> System.out.println("productid: " +
> prodDoc.getProductId().toString());
>
> ProductDocumentPeer.doInsert(prodDoc);
> }
> catch (Exception ex)....
>
>
> I'm attempting an insert against a many-to-many table named
> Novus_Product_Document that has two primary keys, DocumentId and
> ProductId.
>
> I've traced the exception back to the doInsert() method in the
BasePeer
> class (see below). Apparently BasePeer thinks I have no table
specified.
> I am confused since I have used Peer.doInsert() successfully for a
> different table. Is the problem because I'm trying to insert a
primary
> key value into the Novus_Product_Document table? Any ideas are much
> appreciated.
>
> public static ObjectKey doInsert(Criteria criteria,
> DBConnection dbCon)
> throws Exception
> {
> SimpleKey id = null;
>
> // Get the table name and method for determining the primary
> // key value.
> String tableName = null;
> Enumeration keys = criteria.keys();
> if (keys.hasMoreElements())
> {
> tableName =
> criteria.getTableName((String)keys.nextElement());
> }
> else
> {
> throw new Exception("Database insert attempted without
> anything specified to insert");
> }
>
>
>
> Thanks,
>
> Tom Keeney
> Novus Consulting Group
>
>
> --
> To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>
>
>
> --
> To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>
>
>
--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>