添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Hi folks.

In this moment I'm having a problem with my JPA implementation. I have two Entities as following:

Entity Position



Entity Employee



In the other hand I have this Session Bean :

Remote Interface


Remote Interface Implementation



The previous code includes the class Sequence . By the moment it only generates a secuential value for using as primary key for the entity Employee .

This is the content of the file persistence.xml



This is my test class :



And finally, this is the database script :


Before I executed test class EmployeeTest , I inserted one row in the table tbl_positions like this:


Because tbl_positions is a catalog and it most not be created when I create an Employee.

My problem arise when I executed the test class EmployeeTest . When I invoke the method service.createEmployee(employee) , I get the exception: Duplicate entry '1' for key 'PRIMARY' referencing the table tbl_positions . This is a problem for me because what I need is that if a Position already exists, it only creates the Employee . Even better, for business constraints when I create an Employee , all the Positions must exist.

Thanks for any help about it !!

Best tegards,
RADE
Your problem is because of the cascade type:

So when you attempt to create an Employee with position 1, it cascades this and attempts to create a Position with ID 1 which breaks the primary key constraint as there is already a row with this ID.
Try this instead: