fareed
fareed

Reputation: 3072

How to get returning ID in JPA after native query insert

I have the following code in JPA to return an auto generated ID after inserting using native query:

Query q = em.createNativeQuery("insert into .... returning ID", Long.class);
q.executeUpdate();

However, I'm getting the following error:

A result was returned when none was expected

Upvotes: 11

Views: 18330

Answers (1)

fareed
fareed

Reputation: 3072

OK that was an easy one. I have just used q.getSingleResults() and it worked fine!

Query q = em.createNativeQuery(sql);
BigInteger biid = (BigInteger) q.getSingleResult();
long id = biid.longValue();

Upvotes: 14

Related Questions