[jboss-user] [EJB 3.0] - CMP Entity and foreign keys

kstrunk do-not-reply at jboss.com
Tue Mar 20 08:12:17 EDT 2007


Hi,

I'm just wondering how JBoss handles foreign key constraints. I have an entity with a OneToOne-Mapping and CascaseType.ALL set, but in the database schema no cascade delete is set.

Here's a code fragement:


  | @Entity
  | @Table(name = "Users")
  | public class User implements Serializable {
  |     private int id;
  | 
  |     private ChatInfo chatInfo;
  | 
  |     @OneToOne(cascade = {CascadeType.ALL}, fetch = FetchType.EAGER, optional = false)
  |     public ChatInfo getChatInfo() {
  |         return chatInfo;
  |     }
  | 
  |     public void setChatInfo(ChatInfo chatInfo) {
  |         this.chatInfo = chatInfo;
  |     }
  | }
  | 
  | @Entity
  | @Table(name = "ChatInfo")
  | public class ChatInfo implements Serializable {
  |     private int id;
  | 
  |     @Id
  |     @GeneratedValue(strategy = GenerationType.IDENTITY)
  |     @JoinColumn(name = "id", referencedColumnName = "chatinfo_id", table = "users", updatable = false, nullable = false)
  |     public int getId() {
  |         return id;
  |     }
  | 
  |     protected void setId(int id) {
  |         this.id = id;
  |     }
  | 
  | }
  | 

When I look on the database schema there I see "ON DELETE NO ACTION" at the foreign key constraint, but I had expected "ON DELETE CASCADE". Can anybode explain this?


  | CREATE TABLE users
  | (
  |   id int4 NOT NULL DEFAULT nextval('users_id_seq'::regclass),
  |   chatinfo_id int4 NOT NULL,
  |   CONSTRAINT users_pkey PRIMARY KEY (id),
  |   CONSTRAINT fk4e39de8d7cb3bff FOREIGN KEY (chatinfo_id)
  |       REFERENCES chatinfo (id) MATCH SIMPLE
  |       ON UPDATE NO ACTION ON DELETE NO ACTION,
  | ) 
  | 

I use JBoss 4.0.5 and a Postgres 8.1 database.

Best regards,
Strunker

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4029750#4029750

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4029750



More information about the jboss-user mailing list