Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] getResultList causes QueryException Primary key is null

I have the problem figured out.  The problem must be that because I have my
column names defined in lowercase in my resultclass it can not match them
when they come back as uppercase.  I have changed the column names to
uppercase and it now works.  
Thanks for help.

Kevin


khaskett wrote:
> 
> Not sure if this helps, but looking at the allfields attribute of the
> query it is showing this -
> [CPSECUREDFEATURE.feature_id, CPSECUREDFEATURE.feature_name,
> CPSECUREDFEATURE.feature_desc, CPSECUREDFEATURE.feature_type,
> CPSECUREDFEATURE.license_check, CPSECUREDFEATURE.privilege_level]
> 
> which looks correct.
> 
> 
> khaskett wrote:
>> 
>> This has worked on other queries I have used before.  Here is the driver
>> / db info reported by eclipselink
>> Database: DB2 UDB for AS/400  Version: 05.04.0000 V5R4m0
>> Driver: AS/400 Toolbox for Java JDBC Driver  Version: 8.2
>> 
>> I can provide examples of one that is working if needed.
>> 
>> Thanks for the reply.
>> 
>> 
>> James Sutherland wrote:
>>> 
>>> There are no field names in your row, this is causing the error.  This
>>> means that your JDBC driver is not returning any column names in its
>>> ResultSetMetaData, without the field names, EclipseLink has no way to
>>> map the results.  What database and JDBC driver are you using?  It seems
>>> that it does not support meta-data.
>>> 
>>> 
>>> 
>>> khaskett wrote:
>>>> 
>>>> Trying to execute a namedQuery using a result class.  I am getting a
>>>> QueryException (EclipseLink-6044) - 
>>>> The primary key read from the row [DatabaseRecord(
>>>> 	 => 44
>>>> 	 => /Account
>>>> 	 => Action that selects /Account/Search or /Account/Details.
>>>> 	 => U
>>>> 	 => N
>>>> 	 => 0)] 
>>>> during the execution of the query was detected to be null.  Primary
>>>> keys must not contain null.
>>>> 
>>>> From the looks of the error message all my fields are coming back
>>>> correctly from the sql call.
>>>> 
>>>> Here is the entity result class I am trying to use.
>>>> @NamedNativeQuery(
>>>>         name = "findCpSecuredFeatureList",
>>>>         query = "select distinct s.feature_id, s.feature_name,
>>>> s.feature_desc, s.feature_type, s.license_check, rs.privilege_level "
>>>>             + "from cp_secured s, cp_role_secured rs, cp_userrole ur "
>>>>             + "where s.feature_id = rs.feature_id and
>>>> ur.role_code=rs.role_code and ur.user_id=? "
>>>>             + "order by rs.privilege_level desc, s.feature_name", 
>>>>         resultClass = CpSecuredFeature.class
>>>>         )
>>>> @Entity
>>>> public class CpSecuredFeature extends BaseDomain {
>>>> 
>>>>     private static final long serialVersionUID = -3727509833171729708L;
>>>>     
>>>>     @Id
>>>>     @Column(name = "feature_id")
>>>>     private Long featureId;
>>>>     
>>>>     @Column(name = "feature_name")
>>>>     private String featureName;
>>>>     
>>>>     @Column(name = "feature_desc")
>>>> 	private String featureDescription;
>>>>     
>>>>     @Column(name = "feature_type")
>>>> 	private String featureType;
>>>>     
>>>>     @Column(name = "license_check")
>>>> 	private boolean licenseRequired;
>>>>     
>>>>     @Column(name = "privilege_level")
>>>> 	private int privilegeLevel;
>>>> .....
>>>> 
>>>> Any ideas on why this is happening?
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/getResultList-causes-QueryException-Primary-key-is-null-tp20671004p20687621.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.



Back to the top