@CascadeOnDelete [message #911373] |
Tue, 11 September 2012 13:18 |
|
I have a strange problem with @CascadeOnDelete annotation. For instance
@Entity
public class Employee {
@Id
private long id;
private String firstName;
private String lastName;
@OneToMany(mappedBy = "parent", orphanRemoval = true, cascade = { CascadeType.ALL })
@CascadeOnDelete
private List<Employee> children;
@ManyToOne
private Employee parent;
}
eclipselink generates the following DDL:
CREATE TABLE EMPLOYEE (ID BIGINT NOT NULL, FIRSTNAME VARCHAR(255), LASTNAME VARCHAR(255), PARENT_ID BIGINT, PRIMARY KEY (ID))
ALTER TABLE EMPLOYEE ADD CONSTRAINT FK_EMPLOYEE_PARENT_ID FOREIGN KEY (PARENT_ID) REFERENCES EMPLOYEE (ID)
Note, that ON DELETE CASCADE is not generated, therefore it works not as expected.
Any ideas?
[Updated on: Tue, 11 September 2012 13:19] Report message to a moderator
|
|
|
|
Re: @CascadeOnDelete [message #911711 is a reply to message #911510] |
Wed, 12 September 2012 07:14 |
|
[EL Fine]: connection: 2012-09-12 11:13:21.596--Thread(Thread[main,6,main])--Detected database platform: org.eclipse.persistence.platform.database.MySQLPlatform
It seems to be the MySQLPlatform
|
|
|
|
|
|
|
|
Re: @CascadeOnDelete [message #917679 is a reply to message #911373] |
Thu, 20 September 2012 10:17 |
|
[EL Finest]: query: 2012-09-20 14:13:23.371--ServerSession(19334979)--Thread(Thread[main,6,main])--Execute query DataModifyQuery(sql="CREATE TABLE EMPLOYEE (ID BIGINT NOT NULL, FIRSTNAME VARCHAR(255), LASTNAME VARCHAR(255), PARENT_ID BIGINT, PRIMARY KEY (ID))")
[EL Finest]: connection: 2012-09-20 14:13:23.371--ServerSession(19334979)--Connection(24804412)--Thread(Thread[main,6,main])--Connection acquired from connection pool [default].
[EL Fine]: sql: 2012-09-20 14:13:23.371--ServerSession(19334979)--Connection(24804412)--Thread(Thread[main,6,main])--CREATE TABLE EMPLOYEE (ID BIGINT NOT NULL, FIRSTNAME VARCHAR(255), LASTNAME VARCHAR(255), PARENT_ID BIGINT, PRIMARY KEY (ID))
[EL Fine]: sql: 2012-09-20 14:13:23.371--ServerSession(19334979)--Thread(Thread[main,6,main])--SELECT 1
...
[EL Finest]: query: 2012-09-20 14:13:24.48--ServerSession(19334979)--Thread(Thread[main,6,main])--Execute query DataModifyQuery(sql="ALTER TABLE EMPLOYEE ADD CONSTRAINT FK_EMPLOYEE_PARENT_ID FOREIGN KEY (PARENT_ID) REFERENCES EMPLOYEE (ID)")
[EL Finest]: connection: 2012-09-20 14:13:24.48--ServerSession(19334979)--Connection(24804412)--Thread(Thread[main,6,main])--Connection acquired from connection pool [default].
[EL Fine]: sql: 2012-09-20 14:13:24.48--ServerSession(19334979)--Connection(24804412)--Thread(Thread[main,6,main])--ALTER TABLE EMPLOYEE ADD CONSTRAINT FK_EMPLOYEE_PARENT_ID FOREIGN KEY (PARENT_ID) REFERENCES EMPLOYEE (ID)
[EL Finest]: connection: 2012-09-20 14:13:24.652--ServerSession(19334979)--Connection(24804412)--Thread(Thread[main,6,main])--Connection released to connection pool [default].
ON DELETE CASCADE is missed
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03264 seconds