Hi,

How is it dependent upon GenerationType ? As per the doc, "IDENTITY" means
value generated by database upon insertion and "AUTO" means openjpa will
decide the value.
Someone please throw some light .

thanks


On Tue, Sep 8, 2009 at 2:54 PM, Jean-Baptiste BRIAUD -- Novlog <
[email protected]> wrote:

> Did you try GenerationType.IDENTITY ?
> @GeneratedValue(strategy = GenerationType.IDENTITY)
>
> I think it should work with int but I prefer long instead.
>
> On Sep 8, 2009, at 10:56 , B.L. Zeebub wrote:
>
>
>> Hi
>>
>> I have attached my entity definition below. This was created over a
>> pre-existing database. I create the EntityManagerFactory to obtain the
>> entitymanager (em) as normal and execute the code;
>>
>> String jpql = "select c from Platform c";
>>                em.getTransaction().begin();
>>                entities = (List) em.createQuery(jpql).getResultList();
>>                em.getTransaction().commit();
>>
>> I get the list of Platform entities as expected. Looping through the list,
>> getPlatformName() returns the text as expected, but getId() always returns
>> 0
>> (zero) for all members of the list. Any ideas as to what I've missed.
>>
>> Regards
>>
>> @Entity
>> @Table(name="Platform")
>> public class Platform implements Serializable {
>>        private static final long serialVersionUID = 1L;
>>
>>        @Id
>>        @GeneratedValue(strategy=GenerationType.AUTO)
>>        @Column(name="id", unique=true, nullable=false)
>>        private int id;
>>
>>        @Column(name="PlatformName", length=32)
>>        private String platformName;
>>
>>        //bi-directional many-to-one association to PEcu
>>        @OneToMany(mappedBy="platform")
>>        private Set<PEcu> pecus;
>>
>>   public Platform() {
>>   }
>>
>>        public int getId() {
>>                //TODO: Remove
>>                System.out.println("Platform.getId() called - " + this.id
>> );
>>                return this.id;
>>        }
>>
>>        public void setId(int id) {
>>                this.id = id;
>>        }
>>
>>        public String getPlatformName() {
>>                //TODO: Remove
>>                System.out.println("Platform.getPlatform() called - " +
>> this.platformName);
>>                return this.platformName;
>>        }
>>
>>        public void setPlatformName(String platformName) {
>>                this.platformName = platformName;
>>        }
>>
>>        public Set<PEcu> getPecus() {
>>                return this.pecus;
>>        }
>>
>>        public void setPecus(Set<PEcu> pecus) {
>>                this.pecus = pecus;
>>        }
>>
>> }
>> --
>> View this message in context:
>> http://n2.nabble.com/NEWBIE-OpenJPA-Cannot-get-id-field-returned-tp3601995p3601995.html
>> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>>
>>
>


-- 
Ashish Paliwal
Mobile : 9305128367
IIT Kanpur
India

Reply via email to