cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pascal Robert <prob...@druide.com>
Subject Re: Duplicate pk when inserting into an empty table
Date Tue, 09 May 2017 11:43:45 GMT

> Le 9 mai 2017 à 04:09, Andrus Adamchik <andrus@objectstyle.org> a écrit :
> 
> Hi Pascal,
> 
> Good to see you here! :)
> 
> If you need Cayenne for something bigger, please consider v. 4.0. It will be in Beta
very soon, with API and tools (cdbimport specifically) light years ahead of 3.1.

No big need so far, but if we are going to convert the GUI of the FileMaker database, I might
use Cayenne more. And I’m using Bootique too :-)

> Andrus
> 
>> On May 5, 2017, at 5:16 PM, Pascal Robert <probert@druide.com> wrote:
>> 
>> Forget that email. I commented out two other calls to context.commitChanges() in
another block, but I was still inserting objects.
>> 
>>> Le 5 mai 2017 à 10:10, Pascal Robert <probert@druide.com> a écrit :
>>> 
>>> Hi,
>>> 
>>> I’m using Cayenne 3.1.1 (moving from EOF) for a small project: migration data
from FileMaker to MySQL. I have one model with two data maps and two data nodes, one for FileMaker,
the other for MySQL. 
>>> 
>>> Everything works fine, except one thing: 
>>> 
>>> java.sql.BatchUpdateException: Duplicate entry '753' for key ‘PRIMARY'
>>> 
>>> It seems that even if I commit changes after I set the new object, it tries to
do a big commit at the end. Code:
>>> 
>>>  SelectQuery select3 = new SelectQuery(Personnel.class);
>>>  List<Personnel> employes = context.performQuery(select3);
>>>  for (Personnel personnel: employes) {
>>>    Employe employeMySQL = context.newObject(Employe.class);
>>> 
>>>    if (personnel != null) {
>>>      employeMySQL.setMailing(personnel.getMailing());
>>>      employeMySQL.setPersNom(personnel.getPersNom());
>>>      context.commitChanges();
>>>    }
>>>  }
>>> 
>>> Personnel being an entity in FileMaker, Employe is the equivalent in MySQL. The
primary key in MySQL is an auto_increment field. The PK Generation Strategy is set to Database-Generated.
The table in MySQL doesn’t have any data (it was truncated before the inserts).
>> 
> 


Mime
View raw message