Help With strategy for id generation

I have a J2SE application that conducts simple testing on people and tracks data, and takes pictures of them while the test is going on. Data and images are constantly streaming to the database as entities are being created and persisted this all works great.
I want multiple people to be able to undergo testing at the same time and all store data in one database. When I try this I get errors for duplicate keys.
I was wondering if anyone had ideas on what would be the best thing to do in this case?
Ben

First Thanks alot for your help! It is much appreciated.
Ah ok i see a table called "sequence" does get put into the database.
I am using mysql db 5.0.
All my entity classes use
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
with over rides.
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof TempStat)) {
return false;
TempStat other = (TempStat) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
return true;
The application has an entity class(encapsulating class) that in turn has collections of other entity classes which are all cascade ALL. The application does various things I will simplified a use-case for you.
User sits down at a computer, sensors which are also attached to the computer monitor things like temperature and take pictures of the user. These statistics and data's are added to the various "Statistics" collections in the encapsulating class constantly. Depending on the activity the encapsulating class gets persisted or merged to the DB.
So
Encapsulating class
|
L--> temperature collections
| |
| L--> temp objects (Sample gets taken and added to collection every second)
|
L--> Images Collection
| |
| L--> image objects (Sample gets taken and added to collection every second)
|
L--> more collections
So there are various threads monitoring sensors and sticking things into the Encapsulating class's statistics collections at various intervals. At some point the monitoring threads get paused and the main thread persists the Encapsulating class which cascades the collections.
Question:
How would duplicate keys get made? Is there some time between setting the ID's for the entity class and persisting it where another instance of the software on a different computer could attain the same key and then throw a duplicate key exception when it was persisted?
Thanks in advance

Similar Messages

  • Help with updates for CS6

    I need help installing latest updates for CS6.  I have Win 7 and have tried updating from the Help - Updates menu.  The error is:  U43M1D207.

    Thanks for your response.  I am in the United States in So. Arizona.
    Date: Fri, 5 Oct 2012 12:21:45 -0600
    From: [email protected]
    To: [email protected]
    Subject: Help with updates for CS6
    Re: Help with updates for CS6 created by Jeff A Wright in Downloading, Installing, Setting Up - View the full discussion
    Crunkle1 you are welcome to work directly with our support team for guided assistance.  If you go to http://www.adobe.com/ and select Help and Contact Us you should be given the option to contact our support team via telephone.  Which country/region are you in?
    Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at http://forums.adobe.com/message/4752605#4752605
    Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/4752605#4752605
    To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/4752605#4752605. In the Actions box on the right, click the Stop Email Notifications link.
    Start a new discussion in Downloading, Installing, Setting Up by email or at Adobe Community
    For more information about maintaining your forum email notifications please go to http://forums.adobe.com/message/2936746#2936746.

  • Troubles with ITunes for 2nd Generation Ipod Touch.

    My boyfriend bought me a new 2nd Generation Ipod touch for Xmas and I installed Itunes on my computer. It worked, but when I try to transfer songs over to the Touch it wont allow me, and shows a circle with a cross in it. I have it on manually sync music to Ipod touch and still it doesn't work. I tried using the itunes help menu but it failed me and didn't work either.
    Could someone please help me? I have Windows XP, and the computer type is LG I believe. Any helpful info can be sent to [email protected] or too this thread. Thanks and Merry Christmas.

    38 views and no feedback? Can anyone help with situation?

  • I need help with my for loop in this array

    Ok well, I can't get my code to work. Also, please remember that this is just my draft so it isnt pretty. I will fix it up later so please look at it. The thing I want to do is look into the array for a time that matches what the user entered and return the toString() of that one. I know there is something wrong with my for loop but I cant figure how to fix it. please help. here is what i have so far:
    import javax.swing.JOptionPane;
    public class Runner
        public static void main (String[] args)
            String timeStr;
            int time, again, optiStr;
            Inbound[] in = new Inbound[25];
             in[0]=new Inbound ("",0,"On Time num0");
             in[1]=new Inbound ("",2,"On Time num1");
             in[2]=new Inbound ("",3,"Delayed num2");
             in[3]=new Inbound ("",4,"On Time");
             in[4]=new Inbound ("",5,"On Time");
             in[5]=new Inbound ("",6,"Canceled");
             in[6]=new Inbound ("",1,"Canceled num6");
             in[7]=new Inbound ("",8,"On Time");
             in[8]=new Inbound ("",9,"Delayed");
             in[9]=new Inbound ("",10,"On Time");
             in[10]=new Inbound ("",11,"Delayed");
             in[11]=new Inbound ("",12,"On Time");
             in[12]=new Inbound ("",13,"Delayed");
             in[13]=new Inbound ("",14,"On Time");
             in[14]=new Inbound ("",15,"On Time");
             in[15]=new Inbound ("",16,"On Time");
             in[16]=new Inbound ("",17,"Canceled");
             in[17]=new Inbound ("",18,"On Time");
             in[18]=new Inbound ("",19,"On Time");
             in[19]=new Inbound ("",20,"Canceled");
             in[20]=new Inbound ("",21,"On Time");
             in[21]=new Inbound ("",22,"Delayed");
             in[22]=new Inbound ("",23,"On Time");
             in[23]=new Inbound ("",24,"Cancled");
             in[24]=new Inbound ("",7,"On Time num24");
            do{
                timeStr = JOptionPane.showInputDialog ("In military time, what hour do you want?");
                time = Integer.parseInt(timeStr);
                if (time<=0 || time>24)
                 JOptionPane.showMessageDialog (null, "Error");
                 optiStr = JOptionPane.showConfirmDialog (null, "If you want Incoming flights click Yes, but if not click No");
                if (optiStr==JOptionPane.YES_OPTION)
    //(ok this is the for loop i am talking about )
                    for (int index = 0; index < in.length; index++)
                      if ( time == Inbound.getTime())
                   JOptionPane.showMessageDialog (null, Inbound.tostring());  //return the time asked for
    //               else JOptionPane.showMessageDialog (null, "else");
                }//temp return else if failed to find time asked for
    //             else
    //               if (optiStr==JOptionPane.CANCEL_OPTION)
    //                 JOptionPane.showMessageDialog(null,"Canceled");
    //              else
    //                {Outbound.run();
    //                JOptionPane.showMessageDialog (null, "outbound");}//temp
                  again=JOptionPane.showConfirmDialog(null, "Try again?");
            while (again==JOptionPane.YES_OPTION);
    }any help would be greatly appriciated.

    rumble14 wrote:
    Ok well, I can't get my code to work. Also, please remember that this is just my draft so it isnt pretty. I will fix it up later so please look at it. The thing I want to do is look into the array for a time that matches what the user entered and return the toString() of that one. I know there is something wrong with my for loop but I cant figure how to fix it. please help. here is what i have so far:
    >//(ok this is the for loop i am talking about )
    for (int index = 0; index < in.length; index++)
    if ( time == Inbound.getTime())
    JOptionPane.showMessageDialog (null, Inbound.tostring());  //return the time asked for
    Inbound.getTime() is a static method of your Inbound class, that always returns the same value, I presume? As opposed to each of the 25 members of your array in, which have individual values?
    Edited by: darb on Mar 26, 2008 11:12 AM

  • HOW DO YOU GUYS DEAL WITH APPLE.. SO CONFUSING...NEED HELP WITH SPECS FOR PURCHASE OF IMAC 21.5

    Hi guys, been reading your forums, blogposts, etc and am getting more confused.  I'm just a video girl trying to produce meaningful content through web videos for small to mid sized businesses and want to come over from the dark side. 
    Good news,, I dont need a super giant system,  I do simple editing for web videos, minimal graphics, no motion graphics, no animation etc. currently using CS4, will probably end up with 5.5.
    I want to get imac 21.5 or 27 if i have to..  So here's the question we all have,,, what do I really need besides an Apple fairy godmother to figure this crazy stuff out?????
    I want to be able to have firewire add on, but the rest is what I need help with.   So i've been looking at cs6 specs, even though im not there yet, eventually will be,, so just need to run cs4 now and build from there.  I also want to eventually move to final cut down the road so I want imac able to upgrade to final cut.
    WHAT DO I REALLY NEED MINIMALLY FOR NOW?  WHAT CAN I GET LATER IF i CHOOSE TO DO MORE AND NEED MORE POWER?
    cs6:
    Multicore Intel processor with 64-bit support
    Mac OS X v10.6.8, v10.7, or v10.8**
    4GB of RAM (8GB recommended)
    4GB of available hard-disk space for installation; additional free space required during installation (cannot install on a volume that uses a case-sensitive file system or on removable flash storage devices)
    Additional disk space required for preview files and other working files (10GB recommended)
    1280x900 display
    7200 RPM hard drive (multiple fast disk drives, preferably RAID 0 configured, recommended)
    OpenGL 2.0–capable system
    DVD-ROM drive compatible with dual-layer DVDs (SuperDrive for burning DVDs; Blu-ray burner for creating Blu-ray Disc media)
    QuickTime 7.6.6 software required for QuickTime features
    Optional: Adobe-certified GPU card for GPU-accelerated performance
    Any responses would be great.  I know you guys are busy answering the really high end tech questions

    All the current iMac models (both 21.5" and 27" with OS X Mt. Lion 10.8) will run CS4, 5.5 and 6 just fine.  They will also run Final Cut Pro X just fine.  Ditto for most any application you may want to use.
    Below are some notes (specific to your apparent requirements) that may help you with your purchase decision:
    Notes on purchasing a 21.5" iMac
    All 21.5" iMacs come with 8GB RAM but you cannot add more later.  I strongly suggest getting the maximum RAM (16GB) when you order the iMac.
    The basic hard drive is a 1TB 5400rpm drive.  It will work fine with Adobe CS but you will probably want the added speed of the optional 1TB Fusion drive for better performance. Some people will recommend/argue for one of the optional SSD drives instead, but they are very expensive and still only come in relatively small capacities - I don't recommend the SSD drives.  Get the Fusion drive and spend any extra money on a good external hard drive for backup and/or extra storage instead of an SSD.
    Notes on purchasing a 27" iMac
    All 27" iMacs come with 8GB RAM and you can add more later, up to 32GB
    The basic hard drive is a 1TB 7200rpm drive - it will be fine with Adobe CS.  There are upgrade options to a 3TB 7200rpm drive or a 1TB or 3TB fusion drive - these will be fine also.  There are also SSD drive options, but I do not recommend them. (Same comments as above.)
    Notes on all the current iMacs
    iMacs no longer come with built-in CD/DVD drives.  If you need one, you will need to purchase the Apple Superdrive accessory drive ($79)
    All of the iMac graphic processors (GPU's) are compatible with Adobe CS 4, 5.5, 6
    It is very difficult to impossible to change or upgrade the hard drive later on, so don't buy low-end thinking you can add a better internal hard drive later.
    Be aware that Macs always come with the latest (most recent) version of OS X.  And OS X Mavericks (10.9) is due to be released soon (in the next month or two).  There is no guarantee that the older Adobe CS 4 or 5.5 versions will run on OS X Mavericks.  If you cannot upgrade to CS 6 in the near future, you may want to purchase now rather than after OS X Mavericks is released.
    For what it's worth, I'd recommend the 27" iMac if your budget can afford it.  You will appreciate the larger screen size and added capabilities over the years you will use the computer.

  • Need Help with Javascript for Acrobat Pro 9

    Hello,
    I am creating a PDF form in Adobe Acrobat Profession 9.  Not having a lot of experience with Javascript, I have found this forum very helpful and have used many of the script examples for other issues I have had.  I was hoping someone could help with the following script, I have tried many variations, cannot get it to work.
    var ratio = this.getField("ratio").value
    var concentration = this.getField("concentration").value
    var result = this.getField("result").value
    if(ratio.value>=50.00)
    {result.value ='PASS';}
    if(ratio.value".value>=40.00)
    {result.value ='PASS';}
    if((concentration.value ==61) && (ratio.value >= 49.25))
    {result.value ='PASS';}
    if((concentration.value ==61) && (ratio.value >= 39.25))
    {result.value ='PASS';}
    if((concentration.value ==62) && (ratio.value >= 48.50))
    {result.value ='PASS';}
    if((concentration.value ==62) && (ratio.value >= 38.50))
    {result.value ='PASS';}
    else
    {result.value = 'FAIL';}
    This is just a piece of the code  The concentration values run from 61 through 99 and the ratio value varies for each concentration value, there is a high ratio and a low ratio.  The result of this field with populate the results field with a PASS or FAIL.  This is not working......any help is greatly appreciated!

    Thanks George.  I updated the script to:
    // Get a reference to the result field
    var ratio = this.getField("ratio");
    // Get a reference to the result field
    var concentration = this.getField("concentration");
    // Get a reference to the result field
    var result = this.getField("result");
    if(ratio.value>=50.00)
    {result.value ='PASS';}
    if(ratio.value >=40.00)
    {result.value ='PASS';}
    if((concentration.value ==61) && (ratio.value >= 49.25))
    {result.value ='PASS';}
    if((concentration.value ==61) && (ratio.value >= 39.25))
    {result.value ='PASS';}
    if((concentration.value ==62) && (ratio.value >= 48.50))
    {result.value ='PASS';}
    if((concentration.value ==62) && (ratio.value >= 38.50))
    {result.value ='PASS';}
    else
    {result.value = 'FAIL';}
    However, I am still getting a FAIL result even when the ratio is 50.00 or equal to the passable ratio.

  • Need Help With Download For Airport Express

    Ok, computer dummy here needing help with airport express. We were given airport express last night from a friend who recently purchased a newer gadget. He told us we would need to come here to download the operating system. I see lots of links to updates but no links for someone like me who has never had anything like this on my computer before. Does anyone know what link I would need to use? We have a pc with windows XP. Thanks so much for your help!

    Hello jesschambers. Welcome to the Apple Discussions!
    The AirPort Express Base Station (AX) doesn't have an "operating system" per se, but it does have built-in firmware which pretty much is the same thing. In addition, in order to administer the AX, you will need the AirPort Admin Utility for your Windows PC.
    Here are the links for the latest versions of both:
    o AirPort Express Firmware Update 6.3 for Windows
    o AirPort 4.2 for Windows

  • Need help with LikeFilter for querying the keyset instead of value

    Hi,
    I'm looking for help with the LikeFilter.
    I need to query the cache to get all entries with key starting with a particular string.
    I could see samples using LikeFilter for querying the values in the cache but not the keyset.
    Can someone help?
    E.g:
    Cache Entries:
    abc123 - value1
    abc234 - value2
    bcd123 - value3
    I want to get all entries with key starting with 'abc'.
    thanks,
    rama.

    NJ, thanks for the quick reply.
    I tried something similar (as below) but this code gives me 'java.lang.NoClassDefFoundError: com/tangosol/util/ValueExtractor'.
    KeyExtractor extractor = new KeyExtractor("getKey");
    Filter filter = new LikeFilter(extractor, id+":%",'-',false);
    -rama.
    Edited by: 911950 on Feb 2, 2012 1:18 PM

  • Need help with pagination for book

    I am working on a book and need help with the pagination. I was able to make the TOC and front matter show the numbers as Roman numerals, and the body of the text as Arabic numerals, but I can't figure out how to restart the numbering sequence for the body of the text. So the front matter is numbered i-xvi, and the text is 17-681. I need the text to start with the number 1. Each subsequent chapter is a section break as well, if that makes a difference.
    Many thanks,
    J

    Click on the page that shall start on number one. Open Inspector palette > Layout inspector (2nd tab) >
    Section > Start at: > 1

  • Need help with coding for HTML5 Video with Flash fallback

    Hello, need help with my coding in Dreamweaver CS5.5 for HTML5 video with Flash fallback. Not sure if the coding is correct. Do I need anything else Javascipt etc?

    The reason you see a blank page is because it's trying to load the file that is pretty humungous and there is no preloader. So, you see a white screen till it complets loading.
    Also, the reason why its loading a SWF file and not any of HTML5 type video is because your doctype declaration is XHTML1.0 and not HTML5.
    Change the 1st line in your .html file from:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    to:
    <!DOCTYPE html>
    Then see if your HTML5 video types load with <video> tag.

  • Need help with as3 for popup window

    I am nearing the end of the semester in my Flash Animation class. I have learned very simple AS3 things, code snippets etc. I am trying to find the actionscript for coding a very simple popup window, but have not found a clue.
    Here's what I want to do...I have a white box with some type on the stage. When a person clicks on the white box, I want a popup to open that is larger, that will contain the same type but larger. That box will have an x so it can be dismissed. I don't want to do this in html, only in Flash CS5. I don't want a browser window, I just want a bigger version of the smaller box. I know how to build both boxes, just don't know how to write the code. I know there will be an on-click mouse event listener, and then I am lost.
    Can anyone help with the code I might use? It would be most appreciated.

    It would be something along the lines of... (using instance names relative to your description)...
    popup.visible = false;
    whiteBox.addEventListener(MouseEvent.CLICK, showPopup);
    function showPopup(evt:MouseEvent):void {
         popup.visible = true;
    popup.popupX.addEventListener(MouseEvent.CLICK, hidePopup);
    function hidePopup(evt:MouseEvent):void {
         popup.visible = false;

  • I need help with searching for an image inside another image

    I need to write a program that checks for a specific image (a jpg) inside another, larger, image (a jpg). If so, it returns a value of true. Can anyone help me?
    Winner takes all. First person to solve this gets 10 dukes.
    Please help.

    Hi,
    I would use a full screen image Sequence made with png for transparency and put your article behind. no auto play, stop at first and last image. and information for swipe to display article.

  • Help with expression for business days

    Dear Frends,
    I need help with business days expression.
    The report is for call center operation. Whenever a user calls in and opens an issue it is recorded as a case. And each case is associated with create time and valueofone(which is always one).
    My report contains 'case type' as the first column, and rest of the columns are age buckets(col1: 0-5 days, col2: 6-10 days). By saying agebuckets I mean number of days between create date and current date. All the cases that are less than 5 days older will go to first column and similarly all the cases that are 6-10 days old will go to the second column and so on.
    In a normal case I use the following case statement: case when daysbetween(current_date, create_date) between x1 and x2 then count(valueofone) else null end
    But I need to calculate only the business days as age, so I need an expression look something like this: case when (_days_between(current_date, create_date)-no of holidays) between x1 and x2 then count(valueofone) else null end
    Note: My calendar table has a column 'Business Day' which assigns 'Y' to Business day and 'N' to holiday.
    Any help with this expression or any suitable way.
    Regards
    Chilla

    If you have a calendar table, wouldn't your function be just
    CREATE FUNCTION business_days_between( p_day1 IN DATE, p_day2 IN DATE )
      RETURN NUMBER
    IS
      l_cnt NUMBER;
    BEGIN
      SELECT COUNT(*)
        INTO l_cnt
        FROM calendar_table ct
       WHERE ct.business_day = 'Y'
         AND ct.<<date column>> >= trunc(p_day1)
         AND ct.<<date column>> < trunc(p_day2);
      RETURN l_cnt;
    END;Basially, count the number of rows in your calendar table that are business days between the two dates.
    Justin

  • Help with Audio for Premiere Project

    Working on a lengthy project and need some help with audio which is not my specialty!
    I am recording using a Sony EX1r and a wireless lav mic,     OK.  Here is what is happening.
    When I import the clip into project I get Audio from the left speaker.   If I burn a DVD and playback on home player with surround sound, I get audio out of just the left speaker which makes sense.    SO I go to Premier and use "Fill Left" which fixes the audio on my computer and get sound from left and right speakers.    The odd thing is that when I play this version back from DVD on the surround sound system, the audio now only comes from the CENTER speaker.  I dont get anything out of left OR the right speaker so it sounds hollow.
    I am sure I am missing something obvious so please be kind.
    Is there an easy way to get my audio to come out of Left, Center, and Right speakers (and rear for that matter) ???
    Thank you
    Ted

    Bill,
    The DVD player is a Sony BluRay and the receiver is an Onkyo AV receiver HT-R380.    
    My thinking is that it is something that I am doing wrong inside Premiere vs something that the DVD player or receiver is doing.    My final product will need to play on a variety of DVD players so I need to get it right.
    It just seems odd that my default output DVD provides sound to the left speaker but then removes it when I fill Left.
    Am I setting up my audio tracks wrong?  Or should I being doing something with a 5.1 track???
    Thanks
    Ted

  • Urgent-Need help with code for Master data enhancement

    hi Experts,
    I have appended YMFRGR field(Table MARC) to 0MAT_PLANT_ATTR datasource.
    The key fields in the MARC table are MATNR and WERKS.Can anybody help with the user exit to populate this field,as am pretty new to ABAP.
    Thanks in advance

    Hi,
    go through this link which has the similar problem:
    https://forums.sdn.sap.com/click.jspa?searchID=1331543&messageID=2794783
    hope it helps.
    Thanks,
    Amith

Maybe you are looking for