Win a copy of Learning OpenStack Networking: Build a solid foundation in virtual networking technologies for OpenStack-based clouds this week in the Cloud/Virtualization forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Liutauras Vilda
  • Campbell Ritchie
  • Tim Cooke
  • Bear Bibeault
  • Devaka Cooray
Sheriffs:
  • Jeanne Boyarsky
  • Knute Snortum
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Ganesh Patekar
  • Stephan van Hulst
  • Pete Letkeman
  • Carey Brown
Bartenders:
  • Tim Holloway
  • Ron McLeod
  • Vijitha Kumara

Cannot insert null into a non nullable column  RSS feed

 
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
 
ranger
Sheriff
Posts: 17314
11
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
 
Consider Paul's rocket mass heater.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!