Glad to hear!
Sometimes I despair at some of the complexity having so many things pluggable brings us, then you hear stories like this =)
-Brian
On Jun 10, 2004, at 1:23 AM, Sean Dockery wrote:
For posterity, overriding the single method worked, but I had to do two other things:
1) Change the internal OJB descriptors such that the jdbc-type was a BIGINT
instead of an INTEGER.
2) Changed the OJB_HL_SEQ schema such that the max_key column was created
as a bigint instead of an int.
I seeded the OJB_HL_SEQ table with a record having a max_key value of
$F0000000 (in decimal form) and everything worked as expected. Far easier
than I expected. :-)
"Sean Dockery" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]1.0RC5Hello,
I am working with a content-heavy database application that uses OJBon SQL Server 2000. Because the content is part of the value-propositioneasily
for customers to purchase our application, we would like a means ofidentifying what (template) data came from us versus what data wascreatedby customers during their use of the application.
The hope is that we can have a primarykey of a VARCHAR type that contains
the hexadecimal format of the uniqueID issued by the HighLow sequence
manager implementation. For example, our customer records would begin at
$F0000000 for records that they create. Everything from $00000000 to
$EFFFFFFF would be part of our template data.
I have the source code to the version of OJB that we're using, but I am
unsure where I should make the change? Can I get away with just
sub-classing SequenceManagerHighLowImpl and overriding the getUniqueValue
method?
Here's the implementation that I had been thinking of...
public Object getUniqueValue(FieldDescriptor field) throws SequenceManagerException { Object value = super.getUniqueValue(field); if ("VARCHAR".equals(field.getColumnType())) { value = Long.toString(Long.parseLong(value.toString()), 16); } return value; }
There are tables in the application which use the hi/lo manager for legitimate integer unique ids; I don't want to interfere with that operation.
Any comments?
Thanks in advance for your help.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
