You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cayenne.apache.org by fishmac <jo...@web.de> on 2007/07/28 22:46:59 UTC

trouble w/ tutorial and foreign keys

Cayenne 2.0.3 w/ derby-db

The query at the bottom of this 
http://cayenne.apache.org/doc/tutorial-selectquery.html page  does not
return 2 rows - it does return 0 rows.

INFO  QueryLogger: SELECT t0.NAME, t0.ARTIST_ID, t0.GALLERY_ID, t0.ID FROM
PAINTING t0, ARTIST t1 WHERE t0.ARTIST_ID = t1.ID AND (t1.DATE_OF_BIRTH < ?)
[bind: '1907-01-01 00:00:00.881']
INFO  QueryLogger: === returned 0 rows. - took 2 ms.
INFO  QueryLogger: +++ transaction committed. 

To narrow the problem I tried mysql instead of derby-db. The problem
persists and for some strange reason there is no data in PAINTINGS.ARTIST_ID
and PAINTINGS.GALLERY_ID for the two paintings.

????

-- 
View this message in context: http://www.nabble.com/trouble-w--tutorial-and-foreign-keys-tf4163514.html#a11846371
Sent from the Cayenne - User mailing list archive at Nabble.com.


Re: trouble w/ tutorial and foreign keys

Posted by Andrus Adamchik <an...@objectstyle.org>.
I think I know what happens. There's no relationship established  
between the artist and his paintings (and also paintings and  
galleries). So when fetching paintings qualified on artist date of  
birth, you get no rows. So before the first commit do this:

(per http://cayenne.apache.org/doc/tutorial-dataobjects.html)

picasso.addToPaintings(girl);
picasso.addToPaintings(stein);

girl.setGallery(metropolitan);
stein.setGallery(metropolitan);

Andrus


On Jul 30, 2007, at 12:00 PM, McRib wrote:

>
> here is the complete log - HTH:
>
>
> INFO  QueryLogger: Created connection pool:
> jdbc:mysql://localhost/playground
> 	Driver class: com.mysql.jdbc.Driver
> 	Min. connections in the pool: 1
> 	Max. connections in the pool: 1
> INFO  QueryLogger: --- will run 3 queries.
> INFO  QueryLogger: Opening connection: jdbc:mysql://localhost/ 
> playground
> 	Login: root
> 	Password: *******
> INFO  QueryLogger: +++ Connecting: SUCCESS.
> INFO  QueryLogger: --- transaction started.
> INFO  QueryLogger: Detected and installed adapter:
> org.apache.cayenne.dba.mysql.MySQLAdapter
> INFO  QueryLogger: delete from PAINTING
> INFO  QueryLogger: === updated 2 rows.
> INFO  QueryLogger: delete from ARTIST
> INFO  QueryLogger: === updated 1 row.
> INFO  QueryLogger: delete from GALLERY
> INFO  QueryLogger: === updated 1 row.
> INFO  QueryLogger: +++ transaction committed.
> INFO  QueryLogger: --- transaction started.
> INFO  QueryLogger: LOCK TABLES AUTO_PK_SUPPORT WRITE
> INFO  QueryLogger: SELECT NEXT_ID FROM AUTO_PK_SUPPORT WHERE  
> TABLE_NAME =
> 'ARTIST'
> INFO  QueryLogger: UPDATE AUTO_PK_SUPPORT SET NEXT_ID = NEXT_ID +  
> 20 WHERE
> TABLE_NAME = 'ARTIST' AND NEXT_ID = 260
> INFO  QueryLogger: UNLOCK TABLES
> INFO  QueryLogger: LOCK TABLES AUTO_PK_SUPPORT WRITE
> INFO  QueryLogger: SELECT NEXT_ID FROM AUTO_PK_SUPPORT WHERE  
> TABLE_NAME =
> 'GALLERY'
> INFO  QueryLogger: UPDATE AUTO_PK_SUPPORT SET NEXT_ID = NEXT_ID +  
> 20 WHERE
> TABLE_NAME = 'GALLERY' AND NEXT_ID = 260
> INFO  QueryLogger: UNLOCK TABLES
> INFO  QueryLogger: LOCK TABLES AUTO_PK_SUPPORT WRITE
> INFO  QueryLogger: SELECT NEXT_ID FROM AUTO_PK_SUPPORT WHERE  
> TABLE_NAME =
> 'PAINTING'
> INFO  QueryLogger: UPDATE AUTO_PK_SUPPORT SET NEXT_ID = NEXT_ID +  
> 20 WHERE
> TABLE_NAME = 'PAINTING' AND NEXT_ID = 260
> INFO  QueryLogger: UNLOCK TABLES
> INFO  QueryLogger: --- will run 3 queries.
> INFO  QueryLogger: INSERT INTO ARTIST (DATE_OF_BIRTH, ID, NAME)  
> VALUES (?,
> ?, ?)
> INFO  QueryLogger: [bind: '1881-10-25 00:00:00.0', 260, 'Pablo  
> Picasso']
> INFO  QueryLogger: === updated 1 row.
> INFO  QueryLogger: INSERT INTO GALLERY (ID, NAME) VALUES (?, ?)
> INFO  QueryLogger: [bind: 260, 'Metropolitan Museum of Art']
> INFO  QueryLogger: === updated 1 row.
> INFO  QueryLogger: INSERT INTO PAINTING (ARTIST_ID, GALLERY_ID, ID,  
> NAME)
> VALUES (?, ?, ?, ?)
> INFO  QueryLogger: [bind: NULL, NULL, 260, 'Gertrude Stein']
> INFO  QueryLogger: === updated 1 row.
> INFO  QueryLogger: [bind: NULL, NULL, 261, 'Girl Reading at a Table']
> INFO  QueryLogger: === updated 1 row.
> INFO  QueryLogger: +++ transaction committed.
> INFO  QueryLogger: --- will run 1 query.
> INFO  QueryLogger: --- transaction started.
> INFO  QueryLogger: SELECT t0.NAME, t0.ARTIST_ID, t0.GALLERY_ID,  
> t0.ID FROM
> PAINTING t0 - prepared in 7 ms.
> INFO  QueryLogger: === returned 2 rows. - took 11 ms.
> INFO  QueryLogger: +++ transaction committed.
> INFO  QueryLogger: --- will run 1 query.
> INFO  QueryLogger: --- transaction started.
> INFO  QueryLogger: SELECT t0.NAME, t0.ARTIST_ID, t0.GALLERY_ID,  
> t0.ID FROM
> PAINTING t0 WHERE UPPER(t0.NAME) LIKE UPPER(?) [bind: 'gi%']
> INFO  QueryLogger: === returned 1 row. - took 32 ms.
> INFO  QueryLogger: +++ transaction committed.
> INFO  QueryLogger: --- will run 1 query.
> INFO  QueryLogger: --- transaction started.
> INFO  QueryLogger: SELECT t0.NAME, t0.ARTIST_ID, t0.GALLERY_ID,  
> t0.ID FROM
> PAINTING t0, ARTIST t1 WHERE t0.ARTIST_ID = t1.ID AND  
> (t1.DATE_OF_BIRTH < ?)
> [bind: '1907-01-01 00:00:00.777']
> INFO  QueryLogger: === returned 0 rows. - took 16 ms.
> INFO  QueryLogger: +++ transaction committed.
>
>
>
> -- 
> View this message in context: http://www.nabble.com/trouble-w-- 
> tutorial-and-foreign-keys-tf4163514.html#a11860076
> Sent from the Cayenne - User mailing list archive at Nabble.com.
>
>


Re: trouble w/ tutorial and foreign keys

Posted by McRib <m....@arcor.de>.
here is the complete log - HTH:


INFO  QueryLogger: Created connection pool:
jdbc:mysql://localhost/playground
	Driver class: com.mysql.jdbc.Driver
	Min. connections in the pool: 1
	Max. connections in the pool: 1
INFO  QueryLogger: --- will run 3 queries.
INFO  QueryLogger: Opening connection: jdbc:mysql://localhost/playground
	Login: root
	Password: *******
INFO  QueryLogger: +++ Connecting: SUCCESS.
INFO  QueryLogger: --- transaction started.
INFO  QueryLogger: Detected and installed adapter:
org.apache.cayenne.dba.mysql.MySQLAdapter
INFO  QueryLogger: delete from PAINTING
INFO  QueryLogger: === updated 2 rows.
INFO  QueryLogger: delete from ARTIST
INFO  QueryLogger: === updated 1 row.
INFO  QueryLogger: delete from GALLERY
INFO  QueryLogger: === updated 1 row.
INFO  QueryLogger: +++ transaction committed.
INFO  QueryLogger: --- transaction started.
INFO  QueryLogger: LOCK TABLES AUTO_PK_SUPPORT WRITE
INFO  QueryLogger: SELECT NEXT_ID FROM AUTO_PK_SUPPORT WHERE TABLE_NAME =
'ARTIST'
INFO  QueryLogger: UPDATE AUTO_PK_SUPPORT SET NEXT_ID = NEXT_ID + 20 WHERE
TABLE_NAME = 'ARTIST' AND NEXT_ID = 260
INFO  QueryLogger: UNLOCK TABLES
INFO  QueryLogger: LOCK TABLES AUTO_PK_SUPPORT WRITE
INFO  QueryLogger: SELECT NEXT_ID FROM AUTO_PK_SUPPORT WHERE TABLE_NAME =
'GALLERY'
INFO  QueryLogger: UPDATE AUTO_PK_SUPPORT SET NEXT_ID = NEXT_ID + 20 WHERE
TABLE_NAME = 'GALLERY' AND NEXT_ID = 260
INFO  QueryLogger: UNLOCK TABLES
INFO  QueryLogger: LOCK TABLES AUTO_PK_SUPPORT WRITE
INFO  QueryLogger: SELECT NEXT_ID FROM AUTO_PK_SUPPORT WHERE TABLE_NAME =
'PAINTING'
INFO  QueryLogger: UPDATE AUTO_PK_SUPPORT SET NEXT_ID = NEXT_ID + 20 WHERE
TABLE_NAME = 'PAINTING' AND NEXT_ID = 260
INFO  QueryLogger: UNLOCK TABLES
INFO  QueryLogger: --- will run 3 queries.
INFO  QueryLogger: INSERT INTO ARTIST (DATE_OF_BIRTH, ID, NAME) VALUES (?,
?, ?)
INFO  QueryLogger: [bind: '1881-10-25 00:00:00.0', 260, 'Pablo Picasso']
INFO  QueryLogger: === updated 1 row.
INFO  QueryLogger: INSERT INTO GALLERY (ID, NAME) VALUES (?, ?)
INFO  QueryLogger: [bind: 260, 'Metropolitan Museum of Art']
INFO  QueryLogger: === updated 1 row.
INFO  QueryLogger: INSERT INTO PAINTING (ARTIST_ID, GALLERY_ID, ID, NAME)
VALUES (?, ?, ?, ?)
INFO  QueryLogger: [bind: NULL, NULL, 260, 'Gertrude Stein']
INFO  QueryLogger: === updated 1 row.
INFO  QueryLogger: [bind: NULL, NULL, 261, 'Girl Reading at a Table']
INFO  QueryLogger: === updated 1 row.
INFO  QueryLogger: +++ transaction committed.
INFO  QueryLogger: --- will run 1 query.
INFO  QueryLogger: --- transaction started.
INFO  QueryLogger: SELECT t0.NAME, t0.ARTIST_ID, t0.GALLERY_ID, t0.ID FROM
PAINTING t0 - prepared in 7 ms.
INFO  QueryLogger: === returned 2 rows. - took 11 ms.
INFO  QueryLogger: +++ transaction committed.
INFO  QueryLogger: --- will run 1 query.
INFO  QueryLogger: --- transaction started.
INFO  QueryLogger: SELECT t0.NAME, t0.ARTIST_ID, t0.GALLERY_ID, t0.ID FROM
PAINTING t0 WHERE UPPER(t0.NAME) LIKE UPPER(?) [bind: 'gi%']
INFO  QueryLogger: === returned 1 row. - took 32 ms.
INFO  QueryLogger: +++ transaction committed.
INFO  QueryLogger: --- will run 1 query.
INFO  QueryLogger: --- transaction started.
INFO  QueryLogger: SELECT t0.NAME, t0.ARTIST_ID, t0.GALLERY_ID, t0.ID FROM
PAINTING t0, ARTIST t1 WHERE t0.ARTIST_ID = t1.ID AND (t1.DATE_OF_BIRTH < ?)
[bind: '1907-01-01 00:00:00.777']
INFO  QueryLogger: === returned 0 rows. - took 16 ms.
INFO  QueryLogger: +++ transaction committed.



-- 
View this message in context: http://www.nabble.com/trouble-w--tutorial-and-foreign-keys-tf4163514.html#a11860076
Sent from the Cayenne - User mailing list archive at Nabble.com.


Re: trouble w/ tutorial and foreign keys

Posted by Andrus Adamchik <an...@objectstyle.org>.
Hi there,

So what output did you get in the previous step - persisting the data  
objects?

http://cayenne.apache.org/doc/tutorial-dataobjects.html

Andrus


On Jul 28, 2007, at 11:46 PM, fishmac wrote:

>
> Cayenne 2.0.3 w/ derby-db
>
> The query at the bottom of this
> http://cayenne.apache.org/doc/tutorial-selectquery.html page  does not
> return 2 rows - it does return 0 rows.
>
> INFO  QueryLogger: SELECT t0.NAME, t0.ARTIST_ID, t0.GALLERY_ID,  
> t0.ID FROM
> PAINTING t0, ARTIST t1 WHERE t0.ARTIST_ID = t1.ID AND  
> (t1.DATE_OF_BIRTH < ?)
> [bind: '1907-01-01 00:00:00.881']
> INFO  QueryLogger: === returned 0 rows. - took 2 ms.
> INFO  QueryLogger: +++ transaction committed.
>
> To narrow the problem I tried mysql instead of derby-db. The problem
> persists and for some strange reason there is no data in  
> PAINTINGS.ARTIST_ID
> and PAINTINGS.GALLERY_ID for the two paintings.
>
> ????
>
> -- 
> View this message in context: http://www.nabble.com/trouble-w-- 
> tutorial-and-foreign-keys-tf4163514.html#a11846371
> Sent from the Cayenne - User mailing list archive at Nabble.com.
>
>