You can subscribe to this list here.
2002 |
Jan
(2) |
Feb
(157) |
Mar
(111) |
Apr
(61) |
May
(68) |
Jun
(45) |
Jul
(101) |
Aug
(132) |
Sep
(148) |
Oct
(227) |
Nov
(141) |
Dec
(285) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(518) |
Feb
(462) |
Mar
(390) |
Apr
(488) |
May
(321) |
Jun
(336) |
Jul
(268) |
Aug
(374) |
Sep
(211) |
Oct
(246) |
Nov
(239) |
Dec
(173) |
2004 |
Jan
(110) |
Feb
(131) |
Mar
(85) |
Apr
(120) |
May
(82) |
Jun
(101) |
Jul
(54) |
Aug
(65) |
Sep
(94) |
Oct
(51) |
Nov
(56) |
Dec
(168) |
2005 |
Jan
(146) |
Feb
(98) |
Mar
(75) |
Apr
(118) |
May
(85) |
Jun
(75) |
Jul
(44) |
Aug
(94) |
Sep
(70) |
Oct
(84) |
Nov
(115) |
Dec
(52) |
2006 |
Jan
(113) |
Feb
(83) |
Mar
(217) |
Apr
(158) |
May
(219) |
Jun
(218) |
Jul
(189) |
Aug
(39) |
Sep
(3) |
Oct
(7) |
Nov
(4) |
Dec
(2) |
2007 |
Jan
|
Feb
(2) |
Mar
(7) |
Apr
(3) |
May
(3) |
Jun
(8) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(4) |
Nov
(7) |
Dec
|
2008 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(4) |
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2009 |
Jan
(6) |
Feb
|
Mar
(1) |
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
(10) |
Aug
|
Sep
(1) |
Oct
(1) |
Nov
|
Dec
(3) |
2010 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2012 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Gavin_King/Cirrus%<CI...@ci...> - 2002-08-21 01:26:27
|
> I want you to know that "ant clean" wipes out the directory hibernate is >installed due to relative-path-addressing problems (ok, thats easy to fix). heheh true. thats fixed now. BTW, I use the build script all the time now and all new releases are built by ant. >Feature Request: >It would be nice if hibernate could support versioning via timestamps. Did you have in mind timestamps written by Hibernate (which is trivially easy to implement) or some support for sybase-style TIMESTAMP datatype or timstamps updated by a trigger (which would be a little more work but still easy). I had support for Sybase TIMESTAMPs on the todo list at one stage - but then when no-one asked for it, it didn't seem worth implementing... |
From: Sven W. <s_...@in...> - 2002-08-20 21:24:54
|
Hi, just downloaded hibernate1.1 beta 6 and tried to build my own hibernate.jar. I want you to know that "ant clean" wipes out the directory hibernate is installed due to relative-path-addressing problems (ok, thats easy to fix). Feature Request: It would be nice if hibernate could support versioning via timestamps. This is not that important if you are dealing with a "fresh" schema but in legacy schematas there is often a column indicating the last update of the record. This column could be used to support hibernate long lived transactions without changing one line of legacycode. It is clear that using timestamps is not as exact/save as integers but if there are not 100 people accessing the same record at the same time this should work fairly well. Timesynchronization would be required of course (e.g. NTP can provide accuracy below <1ms in a dedicated LAN). TIA Sven |
From: <phr...@im...> - 2002-08-20 17:39:58
|
hi, On Tue, 20 Aug 2002 17:09:23 +0200, "Christoph Sturm" <ch...@mc...> said: > ----- Original Message ----- > From: <Gavin_King/Cirrus%CI...@ci...> > > > This would be very cool. How do you propose to implement it? Diffing = two > > "create table" statements? Diffing two mapping documents? Diffing aga= inst > > JDBC metadata? >=20 > I was thinking about diffing against jdbc metadata. What I had in mind = was > an automatic check of the database metadata when hibernate starts up, a= nd > automatic execution of ddf statements that add missing columns and tabl= es. even this poses some problems, eg. when you're trying to add a NOT NULL column... also, renaming a column would not be recognized... so i think the closest you can get is a schema comparison, and a default alter script, which you have to tweak manually. still comes handy though, but has not much to do with hibernate itself i guess :) viktor --=20 =20 phr...@im... --=20 http://fastmail.fm Quick as a click |
From: Christoph S. <ch...@mc...> - 2002-08-20 15:11:03
|
Hi Gavin! ----- Original Message ----- From: <Gavin_King/Cirrus%CI...@ci...> To: "Christoph Sturm" <ch...@sc...> Cc: <hib...@li...> Sent: Tuesday, August 20, 2002 3:48 PM Subject: Re: [Hibernate-devel] Volunteers? > > >What feature do you mean exactly with "normalized table mappings"? > >Subcasses that map to diiffenent tables? > > Yup. So you fetch the object using an outerjoin accross the table of the > superclass and the table of the subclass. This is the only remaining thing > thats bothering me about the core functionality. I think the really interesting part is that you can then create a polymorphic query that selects only elements from the base class, and the query generator knows that it doesnt need to join all the subclasses. > > >One thing that I would also propose for a todo is "alter table support" > >instead of drop / create table. I brought this up some time ago, but > >didnt implement it. I think i will take a look at this in the near future. > > This would be very cool. How do you propose to implement it? Diffing two > "create table" statements? Diffing two mapping documents? Diffing against > JDBC metadata? I was thinking about diffing against jdbc metadata. What I had in mind was an automatic check of the database metadata when hibernate starts up, and automatic execution of ddf statements that add missing columns and tables. The automatic part should not remove columns, because we dont want to loose data. Removing of columns should only be done by the db admin, hibernate could have a function to generate a report of not used columns in tables. > > The other thing missing from the commandline toolset is a table schema -> > mapping document generator. If we had that, we would have full > roundtripping. > > Eventually we still need to get round to making a GUI mapping file editor > that can call out to our commandline tools to do roundtripping. Its > actually not a very hard job. All thats needed is an editable tree > representing the mapping document - all the hard work is done by the > existing tools. > > We've got a really active userbase now so I *know* these tools will be used > by people :) > I will think a bit more, and grab some todos then :) peace chris |
From: Gavin_King/Cirrus%<CI...@ci...> - 2002-08-20 14:05:55
|
>What feature do you mean exactly with "normalized table mappings"? >Subcasses that map to diiffenent tables? Yup. So you fetch the object using an outerjoin accross the table of the superclass and the table of the subclass. This is the only remaining thing thats bothering me about the core functionality. >One thing that I would also propose for a todo is "alter table support" >instead of drop / create table. I brought this up some time ago, but >didnt implement it. I think i will take a look at this in the near future. This would be very cool. How do you propose to implement it? Diffing two "create table" statements? Diffing two mapping documents? Diffing against JDBC metadata? The other thing missing from the commandline toolset is a table schema -> mapping document generator. If we had that, we would have full roundtripping. Eventually we still need to get round to making a GUI mapping file editor that can call out to our commandline tools to do roundtripping. Its actually not a very hard job. All thats needed is an editable tree representing the mapping document - all the hard work is done by the existing tools. We've got a really active userbase now so I *know* these tools will be used by people :) |
From: Gavin_King/Cirrus%<CI...@ci...> - 2002-08-20 13:34:19
|
I just released version 1.1 beta 6 - a functionally complete 1.1. Unless problems are found with this version, I don't intend to make any code changes before 1.1 rc1 (the next release). I intend just a few more documentation changes between now and then. New in 1.1 beta 6: * completely reworked fetching code * collections now individually update, insert and delete only the rows that changed * added order-by attribute to <map> and <set> to specify a table column as defining the iteration order (JDK1.4 only) * further usage of JDBC2 batch updates * CodeGenerator will now generate components and arrays * JMX functionality should work for *both* of classpath setups that John Urberg tried out in JBoss Also please note: I renamed the property hibernate.use_jdbc2 to hibernate.use_jdbc_batch The changelog doesn't quite do justice to the significance of this release. Some really central code in the persistence engine has been heavily reworked and refactored. The codebase is now in a healthier state than ever before. Version 1.2 will be all about normalized table mappings - as requested by many people :) Then I'll have sort of walked off the end of my TODO list..... |
From: Gavin_King/Cirrus%<CI...@ci...> - 2002-08-20 04:08:38
|
NetDirect (www.j-netdirect.com) have kindly agreed to donate a JSQL license to the project to help us continue MS SQL Server testing. This is very nice of them and it happens to be an excellent product. Gavin |
From: Gavin_King/Cirrus%<CI...@ci...> - 2002-08-19 07:20:19
|
I finally got round to fixing the implementation of collection updates. This meant * using some of Doug Currie's code for deep lazy collections * using some of Doug's ideas but implementing them for all collections Previously, when a collection element changed, the entire collection was removed and then recreated. This was okay for small collections but was clearly bad for very large collections. Fixing this had been sitting on the TODO list since the earliest iterations of the project.... Now: * new elements are INSERTed * removed elements are DELETEd one at a time * modified elements are UPDATEd This change actually makes my test suites *slower* but we can expect it to scale much, much better. So 1.1 beta 6 is just about ready to go. I've just been doing some documentation refresh, etc.... Also I'll post an ArgoUML diagram of the highlevel design of Hibernate here later today. Hopefully some documentation will make it easier for people to contribute. Gavin |
From: Paul S. <pau...@ne...> - 2002-08-18 10:13:38
|
Some of the code examples in the Programming Guide have spelled 'connection' with three n's (which makes it difficult when you cut-and-paste the exmaples). I've got the 1.0.1 distribution. Regards, Paul. |
From: Gavin_King/Cirrus%<CI...@ci...> - 2002-08-16 14:40:49
|
Okay, I've spent quite a lot of time looking into these issues now. We've established a few things: (1) Sybase driver support for batch updates is buggy so I'm now disabling it by default. It turns out that I was also having issues in DB2, so I had to do the same thing for DB2. (It seems quite insane that these expensive commercial databases have a problem implementing such a seemingly simple feature properly....) (2) Just so everyone knows (and maybe we need a FAQ entry) a one-to-many association should *not* use a not-null constraint on the key column unless it is a bidirectional association mapped with readonly="true" (in which case it is always okay). (3) I tried to reproduce the first problem reported by John and was absolutely unable to. Tonight I applied CodeGenerator to his mapping document (to generate the persistent classes) and then ran essentially his exact code. I do not see the behaviour he reported - the code + log is below. I am concluding there is a problem in one of the persistent classes. Probably the class does something strange in a getter or setter. Conclusion: for now I'm satisfied theres no evidence of Hibernate bugs here. But along the way to reaching this conclusion I added a bunch of extra logging that will really help me find peoples problems in the future and also cleaned up some code and made some improvements to CodeGenerator. All good confidence-building stuff :) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ public static void main(String[] args) throws Exception { Datastore ds = Hibernate.createDatastore().storeFile ("/code/Message.hbm.xml"); new SchemaExport(ds).create(false, true); SessionFactory sf = ds.buildSessionFactory(); Session session = sf.openSession(); MessageBox box = new MessageBox(); MessageBoxEntry mbe = new MessageBoxEntry(); Message msg = new Message(); MessageAddressee add = new MessageAddressee(); MessageAddressee add2 = new MessageAddressee(); msg.setAddresseeEntries( new HashSet() ); msg.getAddresseeEntries().add(add); msg.getAddresseeEntries().add(add2); add.setOwner(msg); mbe.setMessageBox(box); mbe.setMessage(msg); msg.setText("foo"); msg.setSubject("bar"); msg.setDateSent( new Date() ); Long id = (Long) session.save(mbe); session.save(msg); session.save(box); session.flush(); session.connection().commit(); session.close(); session = sf.openSession(); Message message = null; MessageBoxEntry entry = (MessageBoxEntry) session.load(MessageBoxEntry.class, id); message = entry.getMessage(); if (!entry.getRead()) { entry.setRead(true); session.update(entry); //unnecessary line. session.flush(); } session.connection().commit(); session.close(); System.out.println( message.getText() ); } +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3235 [main] DEBUG <cirrus.hibernate.connection.DriverManagerConnectionProvider> Using cached JDBC connection 3235 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> opened session 3235 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading MessageBoxEntry#1 3235 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing MessageBoxEntry#1 3235 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> prepared statement get: SELECT MessageBox1.id AS id0, MSG2.id AS id1, MSG2.subject AS subject1, MSG2.message_text AS message_text1, MSG2.date_sent AS date_sent1, MSG2.staff_id AS staff_id1, StaffImpl3.id AS id2, StaffImpl4.id AS id3, MBE0.id AS id4, MBE0.message_box_id AS message_box_id4, MBE0.message_id AS message_id4, MBE0.staff_id AS staff_id4, MBE0.read_flag AS read_flag4 FROM MBE MBE0 LEFT OUTER JOIN MessageBox MessageBox1 ON MBE0.message_box_id=MessageBox1.id LEFT OUTER JOIN MSG MSG2 ON MBE0.message_id=MSG2.id LEFT OUTER JOIN StaffImpl StaffImpl3 ON MSG2.staff_id=StaffImpl3.id LEFT OUTER JOIN StaffImpl StaffImpl4 ON MBE0.staff_id=StaffImpl4.id WHERE MBE0.id = ? 3235 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> Preparing statement: SELECT MessageBox1.id AS id0, MSG2.id AS id1, MSG2.subject AS subject1, MSG2.message_text AS message_text1, MSG2.date_sent AS date_sent1, MSG2.staff_id AS staff_id1, StaffImpl3.id AS id2, StaffImpl4.id AS id3, MBE0.id AS id4, MBE0.message_box_id AS message_box_id4, MBE0.message_id AS message_id4, MBE0.staff_id AS staff_id4, MBE0.read_flag AS read_flag4 FROM MBE MBE0 LEFT OUTER JOIN MessageBox MessageBox1 ON MBE0.message_box_id=MessageBox1.id LEFT OUTER JOIN MSG MSG2 ON MBE0.message_id=MSG2.id LEFT OUTER JOIN StaffImpl StaffImpl3 ON MSG2.staff_id=StaffImpl3.id LEFT OUTER JOIN StaffImpl StaffImpl4 ON MBE0.staff_id=StaffImpl4.id WHERE MBE0.id = ? 3250 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Initializing object from ResultSet: 1 3250 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Hydrating entity: MessageBox#1 3250 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Initializing object from ResultSet: 1 3250 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Hydrating entity: Message#1 3250 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Cache lookup: 1 3250 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Cache miss: 1 3250 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Initializing object from ResultSet: 1 3250 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Hydrating entity: MessageBoxEntry#1 3250 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading MessageBox#1 3250 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing MessageBox#1 3250 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading Message#1 3250 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing Message#1 3250 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> recaching 3266 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> flushing session 3266 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Flushing entities and processing referenced collections 3266 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Collection found: Message.addresseeEntries#1, was: Message.addresseeEntries#1 3266 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> MessageBoxEntry.read is dirty 3266 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Updating entity: MessageBoxEntry#1 3266 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Processing unreferenced collections 3266 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Scheduling collection updates 3266 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Flushed: 0 insertions, 1 updates, 0 deletions to 3 objects 3266 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Flushed: 0 insertions, 0 updates, 0 deletions to 1 collections 3266 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Initializing collection dirty flags 3266 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Executing 3266 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Updating entity: MessageBoxEntry#1 3266 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> prepared statement get: update MBE set message_box_id = ?, message_id = ?, staff_id = ?, read_flag = ? where id = ? 3266 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> Preparing statement: update MBE set message_box_id = ?, message_id = ?, staff_id = ?, read_flag = ? where id = ? 3266 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Dehydrating entity: MessageBoxEntry#1 3266 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> closing session 3266 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> disconnecting session 3266 [main] DEBUG <cirrus.hibernate.connection.DriverManagerConnectionProvider> returning connection to pool ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ <?xml version="1.0"?> <!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping.dtd" > <hibernate-mapping> <class name="MessageBoxEntry" table="MBE"> <id name="id" column="id" type="long"> <generator class="native"/> </id> <many-to-one name="messageBox" class="MessageBox" column="message_box_id" cascade="none" outer-join="true"/> <many-to-one name="message" class="Message" column="message_id" cascade="none" outer-join="true"/> <many-to-one name="staff" class="StaffImpl" column="staff_id" cascade="none" outer-join="true"/> <property name="read" column="read_flag" type="yes_no"/> </class> <class name="Message" table="MSG"> <id name="id" column="id" type="long"> <generator class="native"/> </id> <property name="subject" type="string"/> <property name="text" column="message_text" type="string"/> <property name="dateSent" column="date_sent" type="timestamp"/> <many-to-one name="sender" class="StaffImpl" column="staff_id" cascade="none" outer-join="true"/> <set role="addresseeEntries" lazy="true" cascade="all"> <jcs-cache usage="read-write"/> <key column="message_id"/> <one-to-many class="MessageAddressee"/> </set> </class> <class name="MessageAddressee" table="addressee"> <jcs-cache usage="read-write"/> <id name="id" column="id" type="long"> <generator class="native"/> </id> <many-to-one name="owner" class="Message" column="message_id" cascade="none" outer-join="true"/> <many-to-one name="groupEntry" class="AddresseeGroup" column="addressee_group_id" cascade="none" outer-join="true"/> <many-to-one name="staffEntry" class="StaffImpl" column="staff_id" cascade="none" outer-join="true"/> </class> <class name="StaffImpl"> <id name="id" column="id" type="long"> <generator class="native"/> </id> </class> <class name="MessageBox"> <id name="id" column="id" type="long"> <generator class="native"/> </id> </class> <class name="AddresseeGroup"> <id name="id" column="id" type="long"> <generator class="native"/> </id> </class> </hibernate-mapping> |
From: Gavin_King/Cirrus%<CI...@ci...> - 2002-08-16 12:22:41
|
>I don't understand why I'm getting this error, since I do assign an id. >Am I missing something? Use Session.insert() to assign identifiers. Session.save() always generates an id. :) |
From: Mark W. <mor...@SM...> - 2002-08-16 10:14:22
|
Hi all... I seem to have a problem with assigned id generators. Suppose I have: <class name="eg.Foo" table="foo"> <id name="id" type="long"> <generator class="assigned" /> </id> <property name="name" /> </class> My code is doing: Foo f = new Foo(); f.setId(100); f.setName("test"); session.save(f); And I'm getting: cirrus.hibernate.id.IDGenerationException: IDs for this class must be manually assigned I don't understand why I'm getting this error, since I do assign an id. Am I missing something? Thanks, -Mark |
From: Urberg, J. <ju...@ve...> - 2002-08-15 15:13:02
|
On to the second issue: >>2) Build a message with multiple addressees. I try to save the message and >>get a "com.sybase.jdbc2.jdbc.SybBatchUpdateException: JZ0BE: >>BatchUpdateException: Error occurred while executing batch statement: ASA >>Error -143: Column '@p1' not found" SQL Exception. Here is the SQL: >Ah. interesting. My Sybase install broke a while back so I didn't get a >chance to test its JDBC2 compliance. I imagine that setting > >hibernate.use_jdbc2=false I tried that and the same problem happened. I'm using the JConnect 5.5 driver which claims to be JDBC2 compliant. >Actually, just for an experiment ... could you >please try using a vm.long style id generation and see if you recieve the >same exception? (just to rule out the possibility that native keygeneration >has anything to do with it....) That also had no effect. I had worked around the problem by manually loading and saving the MessageAddressee collection. When I put things back, I still got an exception saving, but it was a bit different (Ugh). I've attached the source and TRACE below. Sorry I didn't get back to you right away. I've been dealing with some other issues. Regards, John -------------------------------------------------- Here's the code where I save a message: try { // get the sender Staff staff = aMessage.getSender(); session.update(staff); // get the message boxes List boxes = session.find( "select box " + " from box " + " in class domain.MessageBox" + " order by box.id"); // add the message to each addressees' mailbox List newEntries = new ArrayList(); for (Iterator i = aMessage.getAddressees().iterator(); i.hasNext(); ) { Addressee addressee = (Addressee)i.next(); // the group was loaded in another session if (addressee.isGroup()) { session.update(addressee); } Collection recipients = addressee.getStaffEntries(); for (Iterator r = recipients.iterator(); r.hasNext(); ) { Staff recipient = (Staff)r.next(); session.update(recipient); MessageBoxEntry newEntry = new MessageBoxEntry(); newEntry.setMessage(aMessage); newEntry.setMessageBox((MessageBox)boxes.get(0)); newEntry.setStaff(recipient); newEntries.add(newEntry); } } // add the message to the sender's mailbox MessageBoxEntry sentEntry = new MessageBoxEntry(); sentEntry.setMessage(aMessage); sentEntry.setMessageBox((MessageBox)boxes.get(1)); sentEntry.setStaff(staff); // save the message aMessage.setDateSent(new Date()); session.save(aMessage); // add entries for (Iterator i = newEntries.iterator(); i.hasNext(); ) { session.save(i.next()); } session.save(sentEntry); session.flush(); } finally { session.close(); } Here's the TRACE of this portion of the code: 7625 [main] DEBUG <cirrus.hibernate.connection.DriverManagerConnectionProvider> Using cached JDBC connection 7625 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> opened session 7625 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> updating domain.StaffImpl#49 7625 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> find: select box from box in class domain.MessageBox order by box.id 7625 [main] DEBUG <cirrus.hibernate.query.QueryTranslator> compiling query 7625 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> flushing session 7640 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Updating entity: domain.StaffImpl#49 7640 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Flushing: 0 insertions, 1 updates, 0 deletions to 1 objects 7640 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Flushing: 0 insertions, 0 updates, 0 deletions to 0 collections 7640 [main] DEBUG <cirrus.hibernate.query.QueryTranslator> HQL: select box from box in class domain.MessageBox order by box.id 7640 [main] DEBUG <cirrus.hibernate.query.QueryTranslator> SQL: SELECT box.id, box.description FROM message_box box ORDER BY box.id 7640 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> prepared statement get: SELECT box.id, box.description FROM message_box box ORDER BY box.id Hibernate: SELECT box.id, box.description FROM message_box box ORDER BY box.id 7640 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> Preparing statement: SELECT box.id, box.description FROM message_box box ORDER BY box.id 7640 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Initializing object from ResultSet: 1 7640 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Hydrating entity: domain.MessageBox#1 7656 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Initializing object from ResultSet: 2 7656 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Hydrating entity: domain.MessageBox#2 7656 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> recaching 7656 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> updating domain.StaffImpl#45 7656 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> updating domain.StaffImpl#49 7656 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> updating domain.StaffImpl#1 7656 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> saving domain.Message#native 7656 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Inserting entity: domain.Message (native id) 7656 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Inserting entity: domain.Message#null 7656 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> prepared statement get: insert into message_table ( subject, message_text, date_sent, staff_id ) values ( ?, ?, ?, ? ) Hibernate: insert into message_table ( subject, message_text, date_sent, staff_id ) values ( ?, ?, ?, ? ) 7656 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> Preparing statement: insert into message_table ( subject, message_text, date_sent, staff_id ) values ( ?, ?, ?, ? ) 7671 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Dehydrating entity: domain.Message#null 7671 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> recaching 7671 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> prepared statement get: select @@identity Hibernate: select @@identity 7671 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> Preparing statement: select @@identity 7671 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Natively generated identity: 67463941285871630 7687 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> recaching 7687 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> saving domain.MessageAddressee#native 7687 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Inserting entity: domain.MessageAddressee (native id) 7687 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Inserting entity: domain.MessageAddressee#null 7687 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> prepared statement get: insert into message_addressee ( message_id, addressee_group_id, staff_id ) values ( ?, ?, ? ) Hibernate: insert into message_addressee ( message_id, addressee_group_id, staff_id ) values ( ?, ?, ? ) 7687 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> Preparing statement: insert into message_addressee ( message_id, addressee_group_id, staff_id ) values ( ?, ?, ? ) 7687 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Dehydrating entity: domain.MessageAddressee#null 7703 [main] WARN <cirrus.hibernate.helpers.JDBCExceptionReporter> SQL Error: 233, SQLState: 23502 7703 [main] ERROR <cirrus.hibernate.helpers.JDBCExceptionReporter> ASA Error -195: Column 'message_id' in table 'message_addressee' cannot be NULL 7703 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> recaching 7703 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> closing session 7703 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> disconnecting session 7703 [main] DEBUG <cirrus.hibernate.connection.DriverManagerConnectionProvider> returning connection to pool |
From: Urberg, J. <ju...@ve...> - 2002-08-15 13:09:35
|
> Whoooaahh: > > >> session.update(entry); > > This line is a bit confusing.... That was left over from when I was passing the whole entry over. I took it out and the problem continues. I've attached the output from the TRACE below. I'll have to check with my manager to see if I can send you the code. Regards, John 0 [main] INFO <cirrus.hibernate.helpers.XMLHelper> Parsing XML: unknown system id 31 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> trying to locate http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath under cirrus/hibernate/ 31 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> found http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath 281 [main] DEBUG <cirrus.hibernate.map.Root> Root class: domain.MessageBox -> message_box 312 [main] INFO <cirrus.hibernate.helpers.XMLHelper> Parsing XML: unknown system id 312 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> trying to locate http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath under cirrus/hibernate/ 312 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> found http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath 344 [main] DEBUG <cirrus.hibernate.map.Root> Root class: domain.MessageBoxEntry -> message_box_entry 344 [main] INFO <cirrus.hibernate.helpers.XMLHelper> Parsing XML: unknown system id 359 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> trying to locate http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath under cirrus/hibernate/ 359 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> found http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath 406 [main] DEBUG <cirrus.hibernate.map.Root> Root class: domain.MessageBoxEntryView -> message_view_list 406 [main] INFO <cirrus.hibernate.helpers.XMLHelper> Parsing XML: unknown system id 406 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> trying to locate http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath under cirrus/hibernate/ 422 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> found http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath log4j:ERROR No appenders could be found for category (org.apache.jcs.engine.control.CompositeCacheManager). log4j:ERROR Please initialize the log4j system properly. 578 [main] DEBUG <cirrus.hibernate.map.Root> Root class: domain.Message -> message_table 578 [main] INFO <cirrus.hibernate.helpers.XMLHelper> Parsing XML: unknown system id 594 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> trying to locate http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath under cirrus/hibernate/ 594 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> found http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath 609 [main] DEBUG <cirrus.hibernate.map.Root> Root class: domain.MessageAddressee -> message_addressee 609 [main] INFO <cirrus.hibernate.helpers.XMLHelper> Parsing XML: unknown system id 609 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> trying to locate http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath under cirrus/hibernate/ 625 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> found http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath 672 [main] DEBUG <cirrus.hibernate.map.Root> Root class: domain.AddresseeGroup -> addressee_group 672 [main] INFO <cirrus.hibernate.helpers.XMLHelper> Parsing XML: unknown system id 672 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> trying to locate http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath under cirrus/hibernate/ 672 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> found http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath 703 [main] DEBUG <cirrus.hibernate.map.Root> Root class: domain.AddresseeGroupEntry -> addressee_group_entry 703 [main] INFO <cirrus.hibernate.helpers.XMLHelper> Parsing XML: unknown system id 719 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> trying to locate http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath under cirrus/hibernate/ 719 [main] DEBUG <cirrus.hibernate.helpers.DTDEntityResolver> found http://hibernate.sourceforge.net/hibernate-mapping.dtd in classpath 734 [main] DEBUG <cirrus.hibernate.map.Root> Root class: domain.StaffImpl -> staff 765 [main] INFO <cirrus.hibernate.Environment> loaded properties from resource hibernate.properties 765 [main] INFO <cirrus.hibernate.Environment> echoing all SQL to stdout 765 [main] INFO <cirrus.hibernate.Environment> JVM proxy support: true 781 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> Instantiating session factory 781 [main] INFO <cirrus.hibernate.sql.Dialect> Using dialect: class cirrus.hibernate.sql.SybaseDialect 859 [main] INFO <cirrus.hibernate.connection.DriverManagerConnectionProvider> Hibernate connection pool size: 2 875 [main] INFO <cirrus.hibernate.connection.DriverManagerConnectionProvider> Using driver: com.sybase.jdbc2.jdbc.SybDriver at URL: jdbc:sybase:Tds:localhost:2638 906 [main] INFO <cirrus.hibernate.ps.PreparedStatementCache> prepared statement cache size: 100 906 [main] INFO <cirrus.hibernate.impl.SessionFactoryImpl> Use outer join fetching: true 906 [main] INFO <cirrus.hibernate.impl.SessionFactoryImpl> Use JDBC 2 API: true 1094 [main] WARN <cirrus.hibernate.impl.SessionFactoryImpl> no JDNI name configured 1094 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryObjectFactory> initializing class SessionFactoryObjectFactory 1109 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryObjectFactory> registered: 2c93abb5efae079800efae079bf00000 (unnamed) 1109 [main] INFO <cirrus.hibernate.impl.SessionFactoryImpl> Query language substitutions: {true=1, yes='Y', false=0, no='N'} 1109 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> Instantiated session factory 1109 [main] DEBUG <cirrus.hibernate.connection.DriverManagerConnectionProvider> Opening new JDBC connection 1484 [main] DEBUG <cirrus.hibernate.connection.DriverManagerConnectionProvider> Created connection to: jdbc:sybase:Tds:localhost:2638, Isolation Level: 2 1531 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> opened session 1531 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading domain.MessageBoxEntry#475 1531 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing domain.MessageBoxEntry#475 1531 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> prepared statement get: SELECT message_box1.id AS id0, message_box1.description AS description0, message_table2.id AS id1, message_table2.subject AS subject1, message_table2.message_text AS message_text1, message_table2.date_sent AS date_sent1, message_table2.staff_id AS staff_id1, staff3.id AS id2, staff3.staffid AS staffid2, staff3.firstname AS firstname2, staff3.middleinitial AS middleinitial2, staff3.lastname AS lastname2, staff3.privilege_level AS privilege_level2, staff4.id AS id3, staff4.staffid AS staffid3, staff4.firstname AS firstname3, staff4.middleinitial AS middleinitial3, staff4.lastname AS lastname3, staff4.privilege_level AS privilege_level3, message_box_entry0.id AS id4, message_box_entry0.message_box_id AS message_box_id4, message_box_entry0.message_id AS message_id4, message_box_entry0.staff_id AS staff_id4, message_box_entry0.read_flag AS read_flag4 FROM message_box_entry message_box_entry0 LEFT OUTER JOIN message_box message_box1 ON message_box_entry0.message_box_id=message_box1.id LEFT OUTER JOIN message_table message_table2 ON message_box_entry0.message_id=message_table2.id LEFT OUTER JOIN staff staff3 ON message_table2.staff_id=staff3.id LEFT OUTER JOIN staff staff4 ON message_box_entry0.staff_id=staff4.id WHERE message_box_entry0.id = ? Hibernate: SELECT message_box1.id AS id0, message_box1.description AS description0, message_table2.id AS id1, message_table2.subject AS subject1, message_table2.message_text AS message_text1, message_table2.date_sent AS date_sent1, message_table2.staff_id AS staff_id1, staff3.id AS id2, staff3.staffid AS staffid2, staff3.firstname AS firstname2, staff3.middleinitial AS middleinitial2, staff3.lastname AS lastname2, staff3.privilege_level AS privilege_level2, staff4.id AS id3, staff4.staffid AS staffid3, staff4.firstname AS firstname3, staff4.middleinitial AS middleinitial3, staff4.lastname AS lastname3, staff4.privilege_level AS privilege_level3, message_box_entry0.id AS id4, message_box_entry0.message_box_id AS message_box_id4, message_box_entry0.message_id AS message_id4, message_box_entry0.staff_id AS staff_id4, message_box_entry0.read_flag AS read_flag4 FROM message_box_entry message_box_entry0 LEFT OUTER JOIN message_box message_box1 ON message_box_entry0.message_box_id=message_box1.id LEFT OUTER JOIN message_table message_table2 ON message_box_entry0.message_id=message_table2.id LEFT OUTER JOIN staff staff3 ON message_table2.staff_id=staff3.id LEFT OUTER JOIN staff staff4 ON message_box_entry0.staff_id=staff4.id WHERE message_box_entry0.id = ? 1531 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> Preparing statement: SELECT message_box1.id AS id0, message_box1.description AS description0, message_table2.id AS id1, message_table2.subject AS subject1, message_table2.message_text AS message_text1, message_table2.date_sent AS date_sent1, message_table2.staff_id AS staff_id1, staff3.id AS id2, staff3.staffid AS staffid2, staff3.firstname AS firstname2, staff3.middleinitial AS middleinitial2, staff3.lastname AS lastname2, staff3.privilege_level AS privilege_level2, staff4.id AS id3, staff4.staffid AS staffid3, staff4.firstname AS firstname3, staff4.middleinitial AS middleinitial3, staff4.lastname AS lastname3, staff4.privilege_level AS privilege_level3, message_box_entry0.id AS id4, message_box_entry0.message_box_id AS message_box_id4, message_box_entry0.message_id AS message_id4, message_box_entry0.staff_id AS staff_id4, message_box_entry0.read_flag AS read_flag4 FROM message_box_entry message_box_entry0 LEFT OUTER JOIN message_box message_box1 ON message_box_entry0.message_box_id=message_box1.id LEFT OUTER JOIN message_table message_table2 ON message_box_entry0.message_id=message_table2.id LEFT OUTER JOIN staff staff3 ON message_table2.staff_id=staff3.id LEFT OUTER JOIN staff staff4 ON message_box_entry0.staff_id=staff4.id WHERE message_box_entry0.id = ? 1547 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Initializing object from ResultSet: 2 1547 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Hydrating entity: domain.MessageBox#2 1547 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Initializing object from ResultSet: 359 1547 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Hydrating entity: domain.Message#359 1578 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading domain.StaffImpl#49 1578 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing domain.StaffImpl#49 1578 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Cache lookup: 359 1578 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Cache miss: 359 1594 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Initializing object from ResultSet: 49 1594 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Hydrating entity: domain.StaffImpl#49 1594 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Caching: 49 1594 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Cached: 49 1594 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Initializing object from ResultSet: 475 1594 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Hydrating entity: domain.MessageBoxEntry#475 1594 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading domain.MessageBox#2 1609 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing domain.MessageBox#2 1609 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading domain.Message#359 1609 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing domain.Message#359 1609 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading domain.StaffImpl#49 1609 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing domain.StaffImpl#49 1609 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> recaching 1609 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> flushing session 1609 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> domain.MessageBoxEntry.read is dirty 1609 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Updating entity: domain.MessageBoxEntry#475 1625 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing collection Message.addresseeEntries#359 1625 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> find: SELECT y FROM x IN CLASS domain.Message, y IN x.addresseeEntries.elements WHERE x = ? 1625 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> parameters: 359 1640 [main] DEBUG <cirrus.hibernate.query.QueryTranslator> compiling query 1656 [main] DEBUG <cirrus.hibernate.query.QueryTranslator> HQL: SELECT y FROM x IN CLASS domain.Message, y IN x.addresseeEntries.elements WHERE x = ? 1656 [main] DEBUG <cirrus.hibernate.query.QueryTranslator> SQL: SELECT y.id, y.message_id, y.addressee_group_id, y.staff_id FROM message_addressee y, message_table x WHERE x.id = y.message_id AND (x.id=? ) 1656 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> prepared statement get: SELECT y.id, y.message_id, y.addressee_group_id, y.staff_id FROM message_addressee y, message_table x WHERE x.id = y.message_id AND (x.id=? ) Hibernate: SELECT y.id, y.message_id, y.addressee_group_id, y.staff_id FROM message_addressee y, message_table x WHERE x.id = y.message_id AND (x.id=? ) 1672 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> Preparing statement: SELECT y.id, y.message_id, y.addressee_group_id, y.staff_id FROM message_addressee y, message_table x WHERE x.id = y.message_id AND (x.id=? ) 1687 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Initializing object from ResultSet: 53 1687 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Hydrating entity: domain.MessageAddressee#53 1687 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading domain.Message#359 1687 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing domain.Message#359 1687 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading domain.StaffImpl#49 1687 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing domain.StaffImpl#49 1687 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Caching: 53 1687 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Cached: 53 1687 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Initializing object from ResultSet: 54 1687 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Hydrating entity: domain.MessageAddressee#54 1687 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading domain.Message#359 1687 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing domain.Message#359 1687 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading domain.StaffImpl#1 1687 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing domain.StaffImpl#1 1687 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Cache lookup: 1 1687 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Cache miss: 1 1703 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> prepared statement get: SELECT staff0.id AS id, staff0.staffid AS staffid, staff0.firstname AS firstname, staff0.middleinitial AS middleinitial, staff0.lastname AS lastname, staff0.privilege_level AS privilege_level FROM staff staff0 WHERE staff0.id = ? Hibernate: SELECT staff0.id AS id, staff0.staffid AS staffid, staff0.firstname AS firstname, staff0.middleinitial AS middleinitial, staff0.lastname AS lastname, staff0.privilege_level AS privilege_level FROM staff staff0 WHERE staff0.id = ? 1703 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> Preparing statement: SELECT staff0.id AS id, staff0.staffid AS staffid, staff0.firstname AS firstname, staff0.middleinitial AS middleinitial, staff0.lastname AS lastname, staff0.privilege_level AS privilege_level FROM staff staff0 WHERE staff0.id = ? 1719 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Initializing object from ResultSet: 1 1719 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Hydrating entity: domain.StaffImpl#1 1719 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Caching: 1 1719 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Cached: 1 1719 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> recaching 1719 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Caching: 54 1719 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Cached: 54 1719 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> recaching 1719 [main] DEBUG <cirrus.hibernate.impl.CollectionPersister> Loading collection: Message.addresseeEntries#359 1719 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> prepared statement get: select id from message_addressee where message_id = ? Hibernate: select id from message_addressee where message_id = ? 1719 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> Preparing statement: select id from message_addressee where message_id = ? 1734 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading domain.MessageAddressee#53 1734 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing domain.MessageAddressee#53 1734 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> loading domain.MessageAddressee#54 1734 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> initializing domain.MessageAddressee#54 1734 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> recaching 1734 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Caching: 359 1734 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Cached: 359 1750 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Flushing: 0 insertions, 1 updates, 0 deletions to 7 objects 1750 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> Flushing: 1 insertions, 0 updates, 1 deletions to 2 collections 1750 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Updating entity: domain.MessageBoxEntry#475 1750 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> prepared statement get: update message_box_entry set message_box_id = ?, message_id = ?, staff_id = ?, read_flag = ? where id = ? Hibernate: update message_box_entry set message_box_id = ?, message_id = ?, staff_id = ?, read_flag = ? where id = ? 1750 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> Preparing statement: update message_box_entry set message_box_id = ?, message_id = ?, staff_id = ?, read_flag = ? where id = ? 1750 [main] DEBUG <cirrus.hibernate.impl.ClassPersister> Dehydrating entity: domain.MessageBoxEntry#475 1750 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> recaching 1750 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Invalidating: 359 1765 [main] DEBUG <cirrus.hibernate.impl.CollectionPersister> Deleting collection: Message.addresseeEntries#359 1765 [main] DEBUG <cirrus.hibernate.impl.SessionFactoryImpl> prepared statement get: update message_addressee set message_id = null where message_id = ? Hibernate: update message_addressee set message_id = null where message_id = ? 1765 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> Preparing statement: update message_addressee set message_id = null where message_id = ? 1765 [main] WARN <cirrus.hibernate.helpers.JDBCExceptionReporter> SQL Error: 233, SQLState: 23502 1765 [main] ERROR <cirrus.hibernate.helpers.JDBCExceptionReporter> ASA Error -195: Column 'message_id' in table 'message_addressee' cannot be NULL 1765 [main] DEBUG <cirrus.hibernate.ps.PreparedStatementCache> recaching 1765 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> closing session 1765 [main] DEBUG <cirrus.hibernate.impl.SessionImpl> disconnecting session 1781 [main] WARN <cirrus.hibernate.helpers.JDBCExceptionReporter> SQL Warning: 0, SQLState: 010TP 1781 [main] WARN <cirrus.hibernate.helpers.JDBCExceptionReporter> 010TP: The connection's initial character set, null, could not be converted by the server. The server's proposed character set, Cp850, will be used, with conversions performed by jConnect. 1781 [main] DEBUG <cirrus.hibernate.connection.DriverManagerConnectionProvider> returning connection to pool 1781 [main] DEBUG <cirrus.hibernate.cache.ReadWriteCache> Releasing: 359 com.sybase.jdbc2.jdbc.SybSQLException: ASA Error -195: Column 'message_id' in table 'message_addressee' cannot be NULL at com.sybase.jdbc2.tds.Tds.processEed(Tds.java:2535) at com.sybase.jdbc2.tds.Tds.nextResult(Tds.java:1916) at com.sybase.jdbc2.jdbc.ResultGetter.nextResult(ResultGetter.java:69) at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:201) at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:182) at com.sybase.jdbc2.jdbc.SybStatement.updateLoop(SybStatement.java:1540) at com.sybase.jdbc2.jdbc.SybStatement.executeUpdate(SybStatement.java:1523) at com.sybase.jdbc2.jdbc.SybPreparedStatement.executeUpdate(SybPreparedStatemen t.java:89) at cirrus.hibernate.impl.CollectionPersister.remove(CollectionPersister.java:55 4) at cirrus.hibernate.impl.ScheduledCollectionRemove.execute(ScheduledCollectionR emove.java:16) at cirrus.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:1757) at cirrus.hibernate.impl.SessionImpl.execute(SessionImpl.java:1739) at cirrus.hibernate.impl.SessionImpl.flush(SessionImpl.java:1677) at test.RetrieveMessageBoxEntry.getMessageText(RetrieveMessageBoxEntry.java:47) at test.RetrieveMessageBoxEntry.main(RetrieveMessageBoxEntry.java:59) Exception in thread "main" |
From: Christoph S. <ch...@sc...> - 2002-08-15 13:04:34
|
Hi Gavin! What feature do you mean exactly with "normalized table mappings"? Subcasses that map to diiffenent tables? One thing that I would also propose for a todo is "alter table support" instead of drop / create table. I brought this up some time ago, but didnt implement it. I think i will take a look at this in the near future. regards chris Gavin_King/Cirrus%CI...@ci... wrote: >I've got a couple of things that I could use some help on: > >(1) > >Now that the outerjoin fetching stuff is done, would someone like to get it >working on Oracle? Just since Oracle is such an important platform..... > >The code to render the outerjoins is embedded directly in subclasses of > > cirrus.hibernate.impl.Loader > >If someone would implement some code to render Oracle-style outerjoins >either directly in the Loader heirarchy or else in the Dialect heirarchy >that would be very cool. I don't think we need to be especially abstract >about this since i'm pretty sure Oracle is the only platform that will ever >need its own outerjoin syntax. > >(2) > >Currently we havn't been supporting quoted SQL identifiers like "foo bar". >It would be a fairly easy (but slightly timeconsuming) task to engineer >support for quoted identifiers into all the existing SQL generation code. >But whoever did this would need to do some research into various platforms >since i know DB2 expects: > > owner."foo bar" > >instead of > > "owner.foo bar" > >but I think at least some other databases expect the second form. Other >databases don't support quoted identifiers *at all*. > >+++++++++++++++++++++++++++++++++++++++++++++++++++++++ > >Meanwhile I am working on > >(1) further use of JDBC2 batches >(2) more efficient collection updates > >and then when those tasks are finished I'll be starting on the big job of >writing support for normalized table mappings. > >peace... > >Gavin > > > >------------------------------------------------------- >This sf.net email is sponsored by: Dice - The leading online job board >for high-tech professionals. Search and apply for tech jobs today! >http://seeker.dice.com/seeker.epl?rel_code=31 >_______________________________________________ >Hibernate-devel mailing list >Hib...@li... >https://lists.sourceforge.net/lists/listinfo/hibernate-devel > > > > |
From: Gavin_King/Cirrus%<CI...@ci...> - 2002-08-15 03:30:41
|
I've got a couple of things that I could use some help on: (1) Now that the outerjoin fetching stuff is done, would someone like to get it working on Oracle? Just since Oracle is such an important platform..... The code to render the outerjoins is embedded directly in subclasses of cirrus.hibernate.impl.Loader If someone would implement some code to render Oracle-style outerjoins either directly in the Loader heirarchy or else in the Dialect heirarchy that would be very cool. I don't think we need to be especially abstract about this since i'm pretty sure Oracle is the only platform that will ever need its own outerjoin syntax. (2) Currently we havn't been supporting quoted SQL identifiers like "foo bar". It would be a fairly easy (but slightly timeconsuming) task to engineer support for quoted identifiers into all the existing SQL generation code. But whoever did this would need to do some research into various platforms since i know DB2 expects: owner."foo bar" instead of "owner.foo bar" but I think at least some other databases expect the second form. Other databases don't support quoted identifiers *at all*. +++++++++++++++++++++++++++++++++++++++++++++++++++++++ Meanwhile I am working on (1) further use of JDBC2 batches (2) more efficient collection updates and then when those tasks are finished I'll be starting on the big job of writing support for normalized table mappings. peace... Gavin |
From: Gavin_King/Cirrus%<CI...@ci...> - 2002-08-14 23:33:34
|
Whoooaahh: >>> session.update(entry); This line is a bit confusing.... Why do you call Session.update() here? entry is already associated with the Session. Hibernate will detect changes to entry and update it's persistent state accordingly. The semantics of Session.update() are: "update the persistent state associated with the id with the state of the given *transient* instance". On the other hand, if everything else is right, the call to Session.update () for a persistent object *should* do precisely nothing..... (I can judge if this is the case from seeing the log.) My suspicion is that everything else is *not* right since that would explain why the collection is being removed (the first thing we would need to do after a call to Session.update() is remove any existing collections associated with that id). Anyhow, that line is extraneous and you don't need it. Remove it and see what happens. (But if the problem goes away we still need to understand exactly why it occurred.) Please, if you can send me actual code to step through, I would be able to resolve this very quickly. Otherwise even just the log output would be very helpful. I'm kinda stuck here if I can't reproduce this. Its just so difficult given that we are in different timezones.... Gavin P.S. I just (now) added some extra error detection in Session.update() so try grabbing a CVS update + see if it throws a different exception this time. |
From: Urberg, J. <ju...@ve...> - 2002-08-14 20:51:03
|
It happens in both 1.01 and 1.1 beta 4. -----Original Message----- From: Urberg, John Sent: Wednesday, August 14, 2002 3:49 PM To: 'Gavin_King/Cirrus%CI...@ci...' Cc: hib...@li... Subject: RE: [Hibernate-devel] Update problems More details. This happens when there is a flush after the load. I had left part of the function out to be brief. Here is the whole function: Message message = null; MessageBoxEntry entry = (MessageBoxEntry)session.load(MessageBoxEntry.class, aMessageBoxEntryId); if (entry != null) { message = entry.getMessage(); if (!entry.isRead()) { entry.setRead(Boolean.TRUE); session.update(entry); session.flush(); //*** should only update the read_flag field on message_box_entry } } return message.getText(); Do I need to do the update in a seperate session from the load to make this work? Thanks, John -----Original Message----- From: Gavin_King/Cirrus%CI...@ci... [mailto:Gavin_King/Cirrus%CI...@ci...] Sent: Tuesday, August 13, 2002 10:42 PM To: Urberg, John Cc: hib...@li... Subject: Re: [Hibernate-devel] Update problems >1) I have a class with a collection. When I load the class, hibernate tries >to update the foreign key on the collection table (and tries to set it to >NULL no less). Here's the mapping: John, I have spent a couple of hours playing around with two different versions of Hibernate and I just can't reproduce this... (1) Are you really, really certain you don't meddle with the collection somewhere? On the basis of the code you presented, the lazy="true" collection should not even be getting *initialized*, let alone removed! (2) Could you please forward me the all the code which is needed to reproduce this very naughty behaviour. (3) Could you let me know which version I am meant to be testing against. Please get back to me ASAP because this is playing on my mind.... Thanks Gavin. |
From: Urberg, J. <ju...@ve...> - 2002-08-14 20:49:04
|
More details. This happens when there is a flush after the load. I had left part of the function out to be brief. Here is the whole function: Message message = null; MessageBoxEntry entry = (MessageBoxEntry)session.load(MessageBoxEntry.class, aMessageBoxEntryId); if (entry != null) { message = entry.getMessage(); if (!entry.isRead()) { entry.setRead(Boolean.TRUE); session.update(entry); session.flush(); //*** should only update the read_flag field on message_box_entry } } return message.getText(); Do I need to do the update in a seperate session from the load to make this work? Thanks, John -----Original Message----- From: Gavin_King/Cirrus%CI...@ci... [mailto:Gavin_King/Cirrus%CI...@ci...] Sent: Tuesday, August 13, 2002 10:42 PM To: Urberg, John Cc: hib...@li... Subject: Re: [Hibernate-devel] Update problems >1) I have a class with a collection. When I load the class, hibernate tries >to update the foreign key on the collection table (and tries to set it to >NULL no less). Here's the mapping: John, I have spent a couple of hours playing around with two different versions of Hibernate and I just can't reproduce this... (1) Are you really, really certain you don't meddle with the collection somewhere? On the basis of the code you presented, the lazy="true" collection should not even be getting *initialized*, let alone removed! (2) Could you please forward me the all the code which is needed to reproduce this very naughty behaviour. (3) Could you let me know which version I am meant to be testing against. Please get back to me ASAP because this is playing on my mind.... Thanks Gavin. |
From: Anton v. S. <an...@ap...> - 2002-08-14 15:03:23
|
Sounds great! > I'm feeling pretty proud of myself now..... ;) Yeah, but think about how the rest of us are feeling! I think I'm going to take up pizza delivery... ;) Anton |
From: Gavin_King/Cirrus%<CI...@ci...> - 2002-08-14 11:58:22
|
Once again, something I had been putting off for a long time turned out to be much easier than expected. I spent the last two days refactoring the fetching code + its now not only much more powerful but also more understandable. * one-to-many associations always fetched in a single select (rather than two) * many-to-many collections fetched in a single select when outerjoin fetching enabled * outerjoin fetching enabled upon collection elements (!!!) * outerjoin fetching enabled for associations held by components So, for example, if we have a list containing components which each have a many-to-one to some entity class which in turn has a many-to-one to a class with a component that has a many-to-one, that the whole list and all the associated objects are fetched in a *single* select when outerjoin fetching is enabled. So Hibernate can now fetch an entire graph of objects in exactly n+1 selects where n is the number of collection instances in the graph. The only thing missing from this picture is that outerjoin fetching is still not enabled for the first level of a find() query. This will be quite easy to implement given the machinery I've now built. I'm feeling pretty proud of myself now..... ;) |
From: Gavin_King/Cirrus%<CI...@ci...> - 2002-08-14 03:58:07
|
>1) I have a class with a collection. When I load the class, hibernate tries >to update the foreign key on the collection table (and tries to set it to >NULL no less). Here's the mapping: John, I have spent a couple of hours playing around with two different versions of Hibernate and I just can't reproduce this... (1) Are you really, really certain you don't meddle with the collection somewhere? On the basis of the code you presented, the lazy="true" collection should not even be getting *initialized*, let alone removed! (2) Could you please forward me the all the code which is needed to reproduce this very naughty behaviour. (3) Could you let me know which version I am meant to be testing against. Please get back to me ASAP because this is playing on my mind.... Thanks Gavin. |
From: Gavin_King/Cirrus%<CI...@ci...> - 2002-08-13 15:47:27
|
>I have a couple of problems trying to do updates thru Hibernate. Which version, John? I have been messing around a bit the last couple of days - and I may possibly have broken something without causing the tests to fail. (Which is a worrying that things could break without testsuite knowing but lets deal with *that* after....) Can you observe the same broken behaviour in 1.0.1? > >1) I have a class with a collection. When I load the class, hibernate tries >to update the foreign key on the collection table (and tries to set it to >NULL no less). Here's the mapping: > >The code to read a message looks like this: > > Message message = null; > MessageBoxEntry entry = >(MessageBoxEntry)session.load(MessageBoxEntry.class, aMessageBoxEntryId); > if (entry != null) { > message = entry.getMessage(); > } >Why is it trying to set message_id to null? Why is it trying to update >message_id on message_addressee at all? It shouldn't be. I can't quite explain this. Can you tell if a flush() has occurred for some reason? (Since that is the only excuse for an update to occur.) Please set logging to TRACE for the cirrus.hibernate category + post a log for the whole session. We need to figure *this* out ASAP. >2) Build a message with multiple addressees. I try to save the message and >get a "com.sybase.jdbc2.jdbc.SybBatchUpdateException: JZ0BE: >BatchUpdateException: Error occurred while executing batch statement: ASA >Error -143: Column '@p1' not found" SQL Exception. Here is the SQL: > >How does one fix this? Have I mapped the collection incorrectly? Ah. interesting. My Sybase install broke a while back so I didn't get a chance to test its JDBC2 compliance. I imagine that setting hibernate.use_jdbc2=false will fix your problem. Could you please try this out? If it *does* fix the problem, i'll have to change the default SybaseDialect properties to disable JDBC2 support. Actually, just for an experiment ... could you please try using a vm.long style id generation and see if you recieve the same exception? (just to rule out the possibility that native keygeneration has anything to do with it....) Also, please verify you have the latest Sybase JDBC driver. Thanks Gavin |
From: Urberg, J. <ju...@ve...> - 2002-08-13 14:48:49
|
I have a couple of problems trying to do updates thru Hibernate. 1) I have a class with a collection. When I load the class, hibernate tries to update the foreign key on the collection table (and tries to set it to NULL no less). Here's the mapping: <class name="MessageBoxEntry" table="message_box_entry"> <id name="id" column="id" type="long"> <generator class="native"/> </id> <many-to-one name="messageBox" class="MessageBox" column="message_box_id" cascade="none" outer-join="true"/> <many-to-one name="message" class="Message" column="message_id" cascade="none" outer-join="true"/> <many-to-one name="staff" class="StaffImpl" column="staff_id" cascade="none" outer-join="true"/> <property name="read" column="read_flag" type="yes_no"/> </class> <class name="Message" table="message_table"> <id name="id" column="id" type="long"> <generator class="native"/> </id> <property name="subject"/> <property name="text" column="message_text"/> <property name="dateSent" column="date_sent"/> <many-to-one name="sender" class="com.idexx.cstone.core.domain.StaffImpl" column="staff_id" cascade="none" outer-join="true"/> <set role="addresseeEntries" lazy="true" cascade="all"> <jcs-cache usage="read-write"/> <key column="message_id"/> <one-to-many class="MessageAddressee"/> </set> </class> <class name="MessageAddressee" table="message_addressee"> <jcs-cache usage="read-write"/> <id name="id" column="id" type="long"> <generator class="native"/> </id> <many-to-one name="owner" class="Message" column="message_id" cascade="none" outer-join="true"/> <many-to-one name="groupEntry" class="AddresseeGroup" column="addressee_group_id" cascade="none" outer-join="true"/> <many-to-one name="staffEntry" class="StaffImpl" column="staff_id" cascade="none" outer-join="true"/> </class> The code to read a message looks like this: Message message = null; MessageBoxEntry entry = (MessageBoxEntry)session.load(MessageBoxEntry.class, aMessageBoxEntryId); if (entry != null) { message = entry.getMessage(); } Which produces the following SQLs: [INFO,Default] Hibernate: SELECT message_box1.id AS id0, message_box1.description AS description0, message_table2.id AS id1, message_table2.subject AS subject1, message_table2.message_text AS message_text1, message_table2.date_sent AS date_sent1, message_table2.staff_id AS staff_id1, staff3.id AS id2, staff3.staffid AS staffid2, staff3.firstname AS firstname2, staff3.middleinitial AS middleinitial2, staff3.lastname AS lastname2, staff3.privilege_level AS privilege_level2, staff4.id AS id3, staff4.staffid AS staffid3, staff4.firstname AS firstname3, staff4.middleinitial AS middleinitial3, staff4.lastname AS lastname3, staff4.privilege_level AS privilege_level3, message_box_entry0.id AS id4, message_box_entry0.message_box_id AS message_box_id4, message_box_entry0.message_id AS message_id4, message_box_entry0.staff_id AS staff_id4, message_box_entry0.read_flag AS read_flag4 FROM message_box_entry message_box_entry0 LEFT OUTER JOIN message_box message_box1 ON message_box_entry0.message_box_id=message_box1.id LEFT OUTER JOIN message_table message_table2 ON message_box_entry0.message_id=message_table2.id LEFT OUTER JOIN staff staff3 ON message_table2.staff_id=staff3.id LEFT OUTER JOIN staff staff4 ON message_box_entry0.staff_id=staff4.id WHERE message_box_entry0.id= ? [INFO,Default] Hibernate: SELECT y.id, y.message_id, y.addressee_group_id, y.staff_id FROM message_addressee y, message_table x WHERE x.id = y.message_id AND (x .id=? ) [INFO,Default] Hibernate: select id from message_addressee where message_id = ? [INFO,Default] Hibernate: update message_addressee set message_id = null where message_id = ? [WARN,JDBCExceptionReporter] SQL Error: 233, SQLState: 23502 [ERROR,JDBCExceptionReporter] ASA Error -195: Column 'message_id' in table 'message_addressee' cannot be NULL Why is it trying to set message_id to null? Why is it trying to update message_id on message_addressee at all? 2) Build a message with multiple addressees. I try to save the message and get a "com.sybase.jdbc2.jdbc.SybBatchUpdateException: JZ0BE: BatchUpdateException: Error occurred while executing batch statement: ASA Error -143: Column '@p1' not found" SQL Exception. Here is the SQL: [INFO,Default] Hibernate: insert into message_table ( subject, message_text, date_sent, staff_id ) values ( ?, ?, ?, ? ) [INFO,Default] Hibernate: select @@identity [INFO,Default] Hibernate: insert into message_addressee ( message_id, addressee_group_id, staff_id ) values ( ?, ?, ? ) [INFO,Default] Hibernate: select @@identity [INFO,Default] Hibernate: insert into message_addressee ( message_id, addressee_group_id, staff_id ) values ( ?, ?, ? ) [INFO,Default] Hibernate: select @@identity [INFO,Default] Hibernate: insert into message_box_entry ( message_box_id, message_id, staff_id, read_flag ) values ( ?, ?, ?, ? ) [INFO,Default] Hibernate: select @@identity [INFO,Default] Hibernate: insert into message_box_entry ( message_box_id, message_id, staff_id, read_flag ) values ( ?, ?, ?, ? ) [INFO,Default] Hibernate: select @@identity [INFO,Default] Hibernate: insert into message_box_entry ( message_box_id, message_id, staff_id, read_flag ) values ( ?, ?, ?, ? ) [INFO,Default] Hibernate: select @@identity [INFO,Default] Hibernate: update staff set staffid = ?, firstname = ?, middleinitial = ?, lastname = ?, privilege_level = ? where id = ? [INFO,Default] Hibernate: update staff set staffid = ?, firstname = ?, middleinitial = ?, lastname = ?, privilege_level = ? where id = ? [INFO,Default] Hibernate: update message_addressee set message_id = ? where id = ? [WARN,JDBCExceptionReporter] SQL Error: 0, SQLState: JZ0BE [ERROR,JDBCExceptionReporter] JZ0BE: BatchUpdateException: Error occurred while executing batch statement: ASA Error -143: Column '@p1' not found How does one fix this? Have I mapped the collection incorrectly? My current hack work around is to not include the set on Message and manually load and save the MessageAddressees. Yuck. Thanks, John |
From: Urberg, J. <ju...@ve...> - 2002-08-12 17:52:14
|
I tried it with the new build with my domain classes on the classpath...and it still couldn't find the mapping file! So I messed around a bit and found the problem. I had it mapped as follows: <attribute name="MapResources"> /com/vetconnect/client/dao/Client.hbm.xml,/com/vetconnect/client/dao/ClientP hone.hbm.xml </attribute> When it should have been: <attribute name="MapResources"> com/vetconnect/client/dao/Client.hbm.xml,com/vetconnect/client/dao/ClientPho ne.hbm.xml </attribute> I removed the first "/" in front of the resource and it worked. I took a closer look at the documentation and sure enough I see the hibernate.cfg.xml file defines file mappings without the first "/". Then I tried an experiment. I reverted back to your previous version with the SessionFactory stub using the new MapResources property, took the classes and mappings out of the server classpath and put them back in the EJB jar. It worked! (That'll teach me not to study the documentation more closely) So take your pick on a version. It works both ways. Regards, John -----Original Message----- From: Gavin_King/Cirrus%CI...@ci... [mailto:Gavin_King/Cirrus%CI...@ci...] Sent: Saturday, August 10, 2002 9:56 PM To: hib...@li... Subject: [Hibernate-devel] Finishing off the JMX stuff... So I think we established that we are going to have to load mappings from the MBean classpath. So I've removed the SessionFactoryStub and added a bit of extra functionality to the MBean. Would people, especially John, try this latest version out in JBoss and let me know how it functions. If all goes well, we can officially release and document this for 1.1 beta 4. (Unfortunately I think the features list on the website erroneously mentions JMX support already....woops.) ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Hibernate-devel mailing list Hib...@li... https://lists.sourceforge.net/lists/listinfo/hibernate-devel |