Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Cannot insert null into a non nullable column

 
anagha desai
Greenhorn
Posts: 22
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello ,
Am new to JPA / Hibernate / ORM

Facing a strange issue .

1 >Created a simple table in HSQLDB
2 >Then using JPA tried persisting the data - and it worked fine

Here in DB had not defined the primary key explicitly

Now I tried to use the "Embedded" attribute
( Single Table - but two Java objects )

The problem that I am facing is that if I use :

it works fine

For other options ( AUTO , IDENTITY ) get the exception ::
Caused by: java.sql.SQLException: Attempt to insert null into a non-nullable column: column: CUST_ID

Can anyone provide some pointers related to ::
1 >
when I dont use @embedded & @Embeddable I can simply do an insert using GenerationType.AUTO - This works

2 >
when I use @embedded & @Embeddable I CANNOT do an insert unless I use
GenerationType.SEQUENCE

Thanks ,
anagha
 
Mark Spritzler
ranger
Sheriff
Posts: 17278
6
IntelliJ IDE Mac Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sorry, I might just be confused, but embedded objects won't have an @Id on it, since it is a dependant object on another object, and that object will have the pk.

Embedded is a case where, for example, you have this table, and you want two seperate objects in Java to represent all the stuff in that one table.

Example

Table User
Fields:

id
firstname
lastname
street
city
state
zip

And you want a User and an Address object to represent all the fields in that User table.

Address object doesn't have the id, it is in the User object. So Address is an Embedded object for the User object.

Hope that helps clear some things up if I am correctly understanding what you are asking.

Mark
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic