Persist does not throw an exception in a JUnit test

I implement a JUnit test by using Toplink JPA provider. I must be missing something because I try to keep twice the same entity and no exception is thrown. PersistenceException, nor any other type of exception. The code can not be easier:


@Test
Public Sub testAddExistingTeam() throws Exception {}

Team = new Team ("team2");

try {}

EntityManagerFactory emf =
Persistence.createEntityManagerFactory ("Fisher");
EntityManager em = emf.createEntityManager ();

em.getTransaction () .begin ();

EM. Persist (Team);
EM. Persist (Team);

em.getTransaction () .commit ();
EM. Close();
}
catch (Exception e) {}
e.printStackTrace ();
}

}

Note the two em.persist (team).

This code does not enter into the catch block or produce any kind of exception. On the other hand, I checked after the first
EM. Persist (Team); the team is really successful.

The relevant parts of the team following class definition:

@Entity
@Table (name = 'TEAM')
Team/public class implements Serializable {}
@Id
@Column (name = "NAME")
private String name;

@ManyToOne
@JoinColumn (name = "CLUB_NAME", referencedColumnName = "NAME")
Club private;
category private;
private String email;

@ManyToMany (mappedBy = "teams")
list < competition > competition private;


public Team (String name) {}
myIdName = name;
This.Club = null;
This.competitions = new ArrayList < competition > ();
}

more than builders...getters/setters...and.
}

I'm really intrigued by this problem. Could someone help? I would be really grateful!


Josepma

This is expected behavior as persist is a no - op if called on one managed entity (other than to the waterfall on relationships with cascade. Persist), and the first call to persist makes the past in team managed entity.

Try calling em.flush (); and em.clear (); between calls persist to get an exception.
The first flush will ensure that the team is inserted into the database, while that clear it peel while the second call persist will attempt to insert the team. JPA providers should not throw the entityExistsException persist - it can be delayed until the transaction either emptied or committed, then you are likely to get a PersistenceException validation instead of EntityExistsException to persist.

Best regards
Chris

Tags: Fusion Middleware

Similar Questions

  • TO_NUMBER do not throw an exception on an invalid entry.

    I have problems safely convert text to numbers with TO_NUMBER function values.
    select to_number('BAD') from dual
    Result: ORA-01722: invalid number. It's logical.
    select to_number('6E9547') from dual
    Result: ORA-01722: invalid number. This makes sense too given that the E is considered to be a marker of the exhibitor.

    If I create a function to check if a number is valid:
    CREATE OR REPLACE FUNCTION is_number( str IN VARCHAR2 ) RETURN NUMBER IS
        BEGIN
         RETURN TO_NUMBER(str);
        EXCEPTION
         WHEN OTHERS THEN RETURN NULL;
        END;
    Now it's time for a new trial:
    select is_number('BAD') from dual
    Result: NULL as expected
    select is_number('6E9547') from dual
    Result: 1E126
    The latter is unexpected. I expect NOTHING but get you a number of "random"?

    All this on 10.2.0.4 (patch set 20) on Windows 2003 server.

    Why a sql statement throwing an error and the pl/sql only?

    436548.1 said

    »
    A SELECT simple for a sum to DOUBLE returns ORA-01426: digital overflow, that is correct.
    «

    and

    »
    Insert "infinite" by means of link PLSQL does not throw an error - it should report ORA-1426.
    «

    So I guess this bug has already been processed and plsql should also throw an error (by design) above examples.

  • Thunderbird does not all files except "inbox." and against the info 'aid', there is NO 'account settings' under 'Tools' &amp; I have the latest version of T.

    Thunderbird does not all files except "inbox." and against the info 'aid', there is NO 'account settings' under 'Tools' & I have the latest version of T. I just need to download the SENT MESSAGES, Inbox not only.

    Re: Where is 'account settings '.
    If you do not see 'Tools', then you do not have your active 'Menu Bar'.
    See picture below on the activation of all the toolbars make life easier.

    Different methods of location of the 'account settings ':
    Via the toolbar "Menu Bar":

    • Tools > accounts settings

    Through the pane of folders:

    • Right-click on the name of the e-mail account in the folders pane, and then select "settings".

    Via "Menu Icon.

    • Menu icon > Options > account settings

    Re: I need to download sent Messages Inbox not only.
    E-mail accounts IMAP see a remote view of the files on the server.
    You subscribe to view these folders in Thunderbird.
    You synchronize directories subscribed for a copy in Thunderbird.
    What you do in a folder for example imap: delete, will occur on the server, so viewing via webmail or Thunderbird folders appear identical.

    However, in your case, it seems that you have created a POP e-mail account.
    E-mail POP accounts can only connect to Inbox server and download server Inbox for the Thunderbird Inbox pop e-mail account.
    It's not a quirk of Thunderbird; This is how all Pop mail represents the work.

    There is a work around to get "sent" in the folder mail sent from server in Thunderbird. You just do it once, because when you send it through Thunderbird, it will put the e-mails in the folder sent TB pop mail account and not on the server.

    Thunderbird creates a "Sent" folder when first send you an email.
    So, if you have not yet sent an email, please send one, even if only to yourself.

    Then, move all inbox emails in the appropriate folders.
    You can create new folders to organize them.

    How to create a new folder:

    • Right-click on the name of the e-mail account, and then select "new folder."
    • Give an appropriate file name and click "create a folder".

    When the Inbox is empty:

    • Logon to the Web e-mail account by using a browser.
    • Move all emails "Sent" in the "Inbox".

    In thunderbird:

    • Click on 'Get the message'

    all the "Sent" emails must get downloaded from the server Inbox anto your Inbox in Thunderbird.

    • Then move all your emails in the 'Sent' Thunderbird folder.

    You should now have all these emails downloaded from the server and display in Thunderbird.

  • Windows Ultimate edition - windows drive does not work. Exception code c0000005, wmp.dll.

    Searched the forum and had suggested to disable Media Player - did it.

    Restart - did.

    Returned to rekindle feature - system won't let me do.  Tell me function cannot be activated.

    I am now in worse shape than before.  The player is not yet listed in the start up programs.

    What can I do to get the work Media Player.

    Original message when the player has not started:

    Problem event name: APPCRASH

    Application name: wmplayer.exe

    Application version: 12.0.7601.17514

    Application timestamp: 4ce7a485

    Fault Module name: wmp.dll

    Fault Module Version: 12.0.7601.17514

    Timestamp of Module error: 4ce7ba7f

    Exception code: c0000005

    Exception offset: 00080a 46

    OS version: 6.1.7601.2.1.0.256.1

    Locale ID: 1033

    Additional information 1: 0a9e

    More information 2: 0a9e372d3b4ad19135b953a78882e789

    Additional information 3: 0a9e

    Additional information 4: 0a9e372d3b4ad19135b953a78882e789

    Did both, neither worked.  Back to zero doesn't let me add WMP12.  Indicates an error and no changes.  Windows Media Player does not even appear on the menu.

    Create an another user account with administrator privileges and reconfigure WMP it. Don't you think a difference?

  • VMware-cmd persistent / not persistent does not work in vsphere / esx4?

    Hello

    We have a problem with the definition of a State of non-persistent disk with a script - something that we used to be able to do with ESX 3.5

    On ESX 3.5, this used to work:

    # vmware - cmd XPROUTER.vmx scsi0:0.mode independent-no persistent setconfig

    On ESX 4.0, the statement runs as follows and does not return anything - that is:

    # vmware - cmd XPROUTER.vmx scsi0:0.mode independent-no persistent setconfig

    #

    Neither does not change the .vmx or the State of SCSI0.0 in the GUI.

    Also, if I try to edit the .vmx with text editor line.

    scsi0:0.mode = persistent "independent-no.

    The change does not appear in the GUI configuration...

    Looking at vmware-cmd reference V-sphere, it seems that the order to setconfig is gone?

    What method can be used to assign a disk of the machine non-persistent / persistent command-line on ESX 4.0?

    Thanks in advance!

    That's right, which was removed from vSphere, I think that it might have been some curiosities and items in the past with the command and perhaps removed all together. Technically, the vmware-cmd is an obsolete utility. You'll probably want to take a look at using vCLI or PowerCLI to reconfigure your VM to fire the drive persistent or not persistent.

    You can take a look at the vSphere SDK for Perl, there are a variety of scripts that allow for the wide range of operations against your vCenter, the host and the VM (s): http://www.vmware.com/support/developer/viperltoolkit/viperl40/doc/vsperl_util_index.html. That would be of interest is vmreconfig.pl http://www.vmware.com/support/developer/viperltoolkit/viperl40/doc/vmreconfig.html , you will find that you will be able to update your disc mode.

    =========================================================================

    William Lam

    VMware vExpert 2009

    Scripts for VMware ESX/ESXi and resources at: http://engineering.ucsb.edu/~duonglt/vmware/

    repository scripts vGhetto

    VMware Code Central - Scripts/code samples for developers and administrators

    http://Twitter.com/lamw

    If you find this information useful, please give points to "correct" or "useful".

  • increase does not throw an error

    Hi all

    I have trouble with the following function raise an error when the no_data_found scenario is tested: -.



    function get_wt_date_val
    + (param_name_in varchar2 +)
    + warehouse_code_in varchar2 +.
    + wht_code_in varchar2 +.
    + default_value_in date default null) +.
    date of return

    is


    cursor cr_app_param (p_param_name varchar2, varchar2, varchar2 p_wht_code p_warehouse_code) is
    Select to_date (param_value)
    of wt_parameters
    where param_name = p_param_name
    and warehouse_code = p_warehouse_code
    and wht_code = p_wht_code;

    date of v_param_value;


    Start

    err_rec.module_name: = ' PKDB_PARAMS. GET_WT_DATE_VAL';
    err_rec. Notes: = 'PARAM_NAME =' | param_name_in;

    Open cr_app_param (param_name_in, warehouse_code_in, wht_code_in);
    extraction cr_app_param
    in v_param_value;
    If cr_app_param % notfound then

    If default_value_in is null then
    err_rec. Notes: = 'PARAM_NAME' | param_name_in | ' WAREHOUSE '. warehouse_code_in | ' WHT ' | wht_code_in | ' HAS NO VALUE OR THE DEFAULT VALUE ';
    close cr_app_param;
    raise the no_data_found;
    on the other
    close cr_app_param;
    Return default_value_in;
    end if;

    on the other
    close cr_app_param;
    Return v_param_value;

    end if;

    exception
    while others then
    pdb_log_error (err_rec);
    lift;

    end;


    When I call the function to generate the no_data_found built by exception, he calls the part of pdb_log_error (inserts into a table of errors), but it returns a null line. that does not seem to exceute the final command "raise" I expect (raise an error).

    Would appreciate any help.

    Dan.

    I mean a SQL statement?

    No data found is not triggered within SQL.

    SQL> create or replace function f1
      2  return number
      3  as
      4  begin
      5   raise no_data_found;
      6  end;
      7  /
    
    Function created.
    
    SQL> var n number
    SQL> exec :n := f1;
    BEGIN :n := f1; END;
    
    *
    ERROR at line 1:
    ORA-01403: no data found
    ORA-06512: at "RIMS.F1", line 5
    ORA-06512: at line 1
    
    SQL> select f1 from dual;
    
            F1
    ----------
    
    SQL> 
    
  • Satellite L450D - 13 X does not start the system - PXE - E61: Media test failure

    Hello

    I turned on my laptop after only a day and it will not load
    As a first step, he said start the system restart or start normally,

    I chose startup repair, but it does not complete the repair.
    It now comes with a repetitive screen with PXE - E63: media test failure, check cable of
    PXE - MOF: exit ROM PXE

    I tried Googling the answer and go into the BIOS menu and to the section boot but I can't seem to change anything at work.

    There are, and exclamation mark in front of what I think is my hard drive on the screen

    ! HDD1/SSD1 TOSHIBA MK2555GSX-(S2)
    CD/DVD HL - DT - ST DVDRAM GT20N-(S4)
    FLOPPY DRIVE
    LAN

    I have nothing in the disk drive and I don't have a recovery disk.

    Any help would be appreciated

    Thanx

    Leon

    Hello

    For me, it looks like a malfunction of the HARD drive and so the BIOS can not find a bootable device and goes to the last possible bootable option which is LAN.

    The exclamation mark in front of the HARD drive indicates that there is a problem with the HARD drive so I think you need to replace the HARD drive and you need to reinstall the system.

    PS: What laptop do you have exactly?

  • GlassFish Tools for Eclipse does not-null pointer exception when you try to deploy the application

    I've recently updated to new Luna Eclipse and the latest tools of Glassfish for Eclipse - now a Java EE-Application, which can be deployed manually through Glassfish admin console fails to deploy via Eclipse.

    I'm not able to debug or runn Java Apps via Eclipse more.

    Does anyone have any idea what is happening and how to fix? Any comment is welcome!

    The following error occurs:

    GlassFish: wrong URL for WebResource [module = Module [EE1_Test, org.eclipse.jst.jee.server:EE1_Test], path =]

    stack trace:

    java.lang.NullPointerException

    to java.net.Parts. < init >(Unknown Source)

    at java.net.URL. < init >(Unknown Source)

    at java.net.URL. < init >(Unknown Source)

    at oracle.eclipse.tools.glassfish.AbstractGlassfishServer.getModuleRootURL(AbstractGlassfishServer.java:883)

    at oracle.eclipse.tools.glassfish.GlassfishLaunchableAdapterDelegate.getLaunchable(GlassfishLaunchableAdapterDelegate.java:55)

    at org.eclipse.wst.server.core.internal.LaunchableAdapter.getLaunchable(LaunchableAdapter.java:76)

    at org.eclipse.wst.server.ui.internal.ServerUIPlugin.getLaunchableAdapter(ServerUIPlugin.java:1209)

    at org.eclipse.wst.server.ui.internal.wizard.fragment.OptionalClientWizardFragment.updateClients(OptionalClientWizardFragment.java:65)

    at org.eclipse.wst.server.ui.internal.wizard.fragment.OptionalClientWizardFragment.getChildFragments(OptionalClientWizardFragment.java:113)

    at org.eclipse.wst.server.ui.internal.wizard.TaskWizard.addSubWizardFragments(TaskWizard.java:329)

    at org.eclipse.wst.server.ui.internal.wizard.TaskWizard.addSubWizardFragments(TaskWizard.java:333)

    at org.eclipse.wst.server.ui.internal.wizard.TaskWizard.getAllWizardFragments(TaskWizard.java:317)

    at org.eclipse.wst.server.ui.internal.wizard.TaskWizard.performFinish(TaskWizard.java:167)

    at org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate.run(RunOnServerActionDelegate.java:335)

    at org.eclipse.wst.server.ui.internal.actions.RunOnServerActionDelegate.run(RunOnServerActionDelegate.java:764)

    at org.eclipse.wst.server.ui.internal.ServerLaunchShortcut.launch(ServerLaunchShortcut.java:41)

    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchShortcutExtension.launch(LaunchShortcutExtension.java:431)

    at org.eclipse.debug.internal.ui.actions.LaunchShortcutAction.run(LaunchShortcutAction.java:74)

    at org.eclipse.debug.internal.ui.actions.LaunchShortcutAction.runWithEvent(LaunchShortcutAction.java:123)

    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)

    to org.eclipse.jface.action.ActionContributionItem.access$ 2 (ActionContributionItem.java:511)

    to org.eclipse.jface.action.ActionContributionItem$ 5.handleEvent(ActionContributionItem.java:420)

    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)

    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)

    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)

    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)

    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:782)

    to org.eclipse.jface.action.ActionContributionItem$ 9.handleEvent(ActionContributionItem.java:1293)

    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)

    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)

    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)

    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)

    to org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$ 9.run(PartRenderingEngine.java:1151)

    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)

    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)

    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)

    to org.eclipse.ui.internal.Workbench$ 5.run(Workbench.java:636)

    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)

    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)

    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)

    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)

    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)

    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)

    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)

    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)

    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke (unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke (unknown Source)

    at java.lang.reflect.Method.invoke (unknown Source)

    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)

    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)

    at org.eclipse.equinox.launcher.Main.run(Main.java:1465)

    Yes, the source for the GF tools is available, but unless you already know how to debug Eclipse plugins, it's a pretty deep rabbit hole.

    1. to help-> them to install the new software

    2. use http://download.oracle.com/otn_software/oepe/luna/ as the URL of the repository

    3 uncheck the box "group items by category.

    4. Select and install GlassFish Source tools

    Otherwise, try to create a skeletal project that reproduces the problem and send it to us for analysis. Of the stack trace, it seems that the problem is somehow related to the GF web application deployment descriptor, so be sure to preserve by a repro.

  • When I visit a site, firefox reports invalid security certificate, but does not add an exception

    When I visit a site that has an invalid security certificate, my mobile me has a nice little dialog box telling me that the connection is not reliable and allowing me to view the site by clicking on ""I understand the risks"my office however shows a completely different dialog box." It is a simple dialog with a title of "Alert" and said... use a security not valid certificate... I don't trust blah blah and an ok box so I can never continue on the site.

    You can see it at https://www.dropbox.com/s/su6fpyimwqk3f5x/Screenshot%202014-09-19%2014.13.01.png?dl=0

    I use Firefox 32.0.2 under 64-bit Windows 8.

    Suggestions will be welcome.
    Thank you
    Selwyn

    You can check the preferences of browser.xul.error_pages on the topic: config page.

    • Browser.XUL.error_pages.enabled = true

    You can open the topic: config page via the address bar.
    You can accept the warning and click on "I'll be careful" to continue.

  • Why DB_PLImpotExportProperties does not throw "variable name or an unknown property.» (Error =-17306) » ?

    When I run GenericImportExport.seq, the call to DB_PLImpotExportProperties brings up the Import/Export dialog box. When I copy this step in my existing sequence, the error "variable or property name unknown." (Error =-17306) "is thrown. I see no difference between the two. They also seem to be running in the same environment.

    Any suggestions?

    As a result of the message:

    The DLL is not able to find a variable and therefore error. You can check the code to:

    C:\Program Files (x 86) \National Instruments\TestStand 2010 SP1\Components\StepTypes\Database

    However, you can copy the step itself in your sequence (rather than calling the sequence) and its variables.

    It will work. The DLL uses Teststand-local variables.

  • Desktop does not show anything except my background.

    original title: I ended procceses instead of requests because I am afraid to think that my computer has been attacked. My office is now gone as well as my taskbar. I have nothing but my background. Help

    My desktop is black after attempting to use the Task Manager to end a request, but I ended up because of my rash actions process. Now, my desktop is white, except for my background and at the bottom, I have these boxes little minimized as itunes akward. I can't just clack anything. Can anyone help?

    Hello

    try a restore of the system before this happened

    http://www.windowsvistauserguide.com/system_restore.htm

    If necessary do in safe mode

    Windows Vista

    Using the F8 method:

    1. Restart your computer.
    2. When the computer starts, you will see your computer hardware are listed. When you see this information begins to tap theF8 key repeatedly until you are presented with theBoot Options Advanced Windows Vista.
    3. Select the Safe Mode option with the arrow keys.
    4. Then press enter on your keyboard to start mode without failure of Vista.
    5. To start Windows, you'll be a typical logon screen. Connect to your computer and Vista goes into safe mode.
    6. Do whatever tasks you need and when you are done, reboot to return to normal mode.
  • VI works exe does not throw an error



  • Laptop does not do anything except in safe mode!

    My laptop has something wrong with it. It allows me to open some things, but when it comes to the final click it wont run anything, I just get the mouse icon timer! All my security is disabled and I can't go online. The only way I can do anything is in safe mode. I checked what has updated the day it broke, and there was an update to Microsoft Office 2003, which is odd, because we have office 2007.

    Help, please!

    Safe mode, see if you can isolate advancing the cause of your problem.

    310560 How to troubleshoot by using the Msconfig utility in Windows XP
    http://support.Microsoft.com/kb/310560

    How to troubleshoot a problem by performing a clean boot in Windows Vista
    http://support.Microsoft.com/default.aspx/KB/929135

    It is more than likely that you have picked up some nasty malware.  See if you can download (or have a friend download) and run one of these safe mode.

    Malwarebytes' Anti-Malware
    http://www.Malwarebytes.org/MBAM.php

    SuperAntispyware
    http://SUPERAntiSpyware.com/

    You could try Safe Mode system restore.

    How to repair the operating system and how to restore the configuration of the operating system to an earlier point in time in Windows Vista
    http://support.Microsoft.com/kb/936212/#appliesTo

    What is the number of KB and descriptive title of this update "strange"?

  • all_scheduler_jobs does not display entered except if done under the scheme in which tasks are performed

    Hello

    Oracle 11.2.0.3

    When it is run

    Select *.

    of all_scheduler_jobs

    or select *.

    all_scheduler_job_run_details under query UserA executes, but returns no rows.

    When it is run under UserB return lines.

    We have jobs that belonging to UserB, but would epxect to see run connected as user request.

    Wjy is it?

    Thank you

    Here you go: allow a user to view scheduled tasks

  • Does not print files but print a good test page

    Sequence of events: downloaded a PDF from a reliable source.  Would not print, however.  Spooler locked up.  Used the online HP fixed the spooler problem diagnosis tool and finally a good test page printed.  However, nothing else well print the printer runs a piece of paper through as if it is printing!  The driver is up-to-date.  Help!

    OK, if you are printing to a HP LaserJet 1020, with the default driver of PDF from Adobe and it is locked.

    Sorry, but I have more questions...

    1. Using the PCL6 or PS driver?
    2. Using the universal printer driver?
    3. Does it lock up when you print from other applications?
    4. What OS are you printing from?  -Win 7 / XP / Mac / etc

    Thank you

    Mark

Maybe you are looking for