package cbe.inserting; import org.apache.cayenne.ObjectContext; import org.apache.cayenne.configuration.server.ServerRuntime; import cbe.inserting.model.Person; /** * Cayenne By Example Source Code: * https://github.com/mrg/cbe * https://github.com/mrg/cbe/tree/master/InsertingObjects/MeaningfulPK * * Cayenne By Example Documentation: * http://mrg.github.com/cbe/ * http://mrg.github.com/cbe/inserting-objects/basic-inserts.html * * This example illustrates inserting objects into the database with a * meaningful primary key. * * NOTE: Using meaningful primary keys is not recommended, but sometimes, * especially when dealing with legacy schemas, it is necessary. * * @author mrg */ public class MeaningfulPK { ObjectContext dataContext = null; ServerRuntime runtime = new ServerRuntime("cayenne-cbe-inserting.xml"); public MeaningfulPK() { // Create a new DataContext. This will also initialize the Cayenne // Framework. dataContext = runtime.getContext(); // Create new Person objects tracked by the DataContext. Person person1 = dataContext.newObject(Person.class); Person person2 = dataContext.newObject(Person.class); Person person3 = dataContext.newObject(Person.class); // Set values. person1.setFirstName("John"); person1.setLastName("Smith"); person1.setSocialSecurityNumber("111-11-1111"); person2.setFirstName("Jane"); person2.setLastName("Smith"); person2.setSocialSecurityNumber("999-99-9999"); person3.setFirstName("Tom"); person3.setLastName("Smith"); person3.setSocialSecurityNumber("123-45-6789"); // Commit the changes to the database. dataContext.commitChanges(); } public static void main(String[] arguments) { new MeaningfulPK(); } }