Hi, Dharmesh.

Can you copy on an email the class definition for 
org.atos.tfgm.basket.ShoppingBasketItem?

Perhaps the JDO annotations for identity are not properly defined.

See [1] for an example. The relevant ones are:

@javax.jdo.annotations.PersistenceCapable(identityType=IdentityType.DATASTORE)
@javax.jdo.annotations.DatastoreIdentity(
        strategy=javax.jdo.annotations.IdGeneratorStrategy.IDENTITY,
         column="id")
@javax.jdo.annotations.Version(
        strategy=VersionStrategy.VERSION_NUMBER, 
        column="version")




Regards,

Oscar


[1] 
https://github.com/apache/isis/blob/master/example/archetype/quickstart_wicket_restful_jdo/src/main/resources/archetype-resources/dom/src/main/java/dom/todo/ToDoItem.java



El 13/01/2014, a las 18:03, Chohan, Dharmesh <[email protected]> 
escribió:

> Hello
> 
> I have sorted out the issue below, however I have encountered another problem,
> 
> Data already exists
> 
> integrity constraint violation: NOT NULL check constraint; SYS_CT_10102 
> table: "ShoppingBasketItem" column: "shoppingBasket_id_OID"
> 
> This is the log output and am not sure why shoppingBasket_id_OID is NULL
> 
>     [exec] 16:58:55,845  [Native               qtp1742392524-31 DEBUG]  
> INSERT INTO "ShoppingBasketItem" 
> ("cardNumber","location","description","amount","shoppingBasket_id_OID","version","shoppingBasketItem_id_OID")
>  VALUES (<'123456789001'>,<'Please_Select'>,<'Item 
> 1'>,<'▒5'>,<null>,<1>,<null>)
>     [exec] 16:58:55,845  [Persist              qtp1742392524-31 WARN ]  
> Insert of object "org.atos.tfgm.basket.ShoppingBasketItem@4e50079b" using 
> statement "INSERT INTO "ShoppingBasketItem" 
> ("cardNumber","location","description","amount","shoppingBasket_id_OID","version","shoppingBasketItem_id_OID")
>  VALUES (?,?,?,?,?,?,?)" failed : integrity constraint violation: NOT NULL 
> check constraint; SYS_CT_10102 table: "ShoppingBasketItem" column: 
> "shoppingBasket_id_OID"
>     [exec] 16:58:55,845  [Persist              qtp1742392524-31 WARN ]  
> Insert of object "org.atos.tfgm.basket.ShoppingBasketItem@4e50079b" using 
> statement "INSERT INTO "ShoppingBasketItem" 
> ("cardNumber","location","description","amount","shoppingBasket_id_OID","version","shoppingBasketItem_id_OID")
>  VALUES (?,?,?,?,?,?,?)" failed : integrity constraint violation: NOT NULL 
> check constraint; SYS_CT_10102 table: "ShoppingBasketItem" column: 
> "shoppingBasket_id_OID"
>     [exec] 16:58:55,845  [Persist              qtp1742392524-31 WARN ]  
> Insert of object "org.atos.tfgm.basket.ShoppingBasketItem@4e50079b" using 
> statement "INSERT INTO "ShoppingBasketItem" 
> ("cardNumber","location","description","amount","shoppingBasket_id_OID","version","shoppingBasketItem_id_OID")
>  VALUES (?,?,?,?,?,?,?)" failed : integrity constraint violation: NOT NULL 
> check constraint; SYS_CT_10102 table: "ShoppingBasketItem" column: 
> "shoppingBasket_id_OID"
>     [exec] 16:58:55,945  [IsisTransaction      qtp1742392524-31 INFO ]  abort 
> transaction IsisTransaction@2fab0086[state=MUST_ABORT,commands=0]
> 
> Regards
> Dharmesh
> 
> -----Original Message-----
> From: Chohan, Dharmesh [mailto:[email protected]] 
> Sent: Monday, January 13, 2014 4:09 PM
> To: [email protected]
> Subject: Domain Mappings 1:m Exception
> 
> Hi
> 
> I am implementing a domain object mapping of 1 to many.  I have followed the 
> documentation on 
> http://isis.apache.org/components/objectstores/jdo/managed-1-to-m-relationships.html
> 
> This is what I have implemented,
> 
> @javax.jdo.annotations.Persistent(mappedBy="shoppingBasket")
>        private SortedSet<ShoppingBasketItem> shoppingBasketItem = new 
> TreeSet<ShoppingBasketItem>();
> 
>        @javax.jdo.annotations.Column(allowsNull="false")
>    @MemberOrder(sequence = "3")
>        public SortedSet <ShoppingBasketItem> getShoppingBasketItem() {
>                return shoppingBasketItem;
>        }
> 
>        public void setShoppingBasketItem(SortedSet <ShoppingBasketItem> 
> shoppingBasketItem) {
>                this.shoppingBasketItem = shoppingBasketItem;
>        }
> 
> public class ShoppingBasketItem implements Comparable<ShoppingBasketItem> {
> 
>        private ShoppingBasket shoppingBasket;
> 
>        @javax.jdo.annotations.Column(allowsNull="false")
>        public ShoppingBasket getShoppingBasket() {
>                return shoppingBasket;
>        }
> 
>        public void setShoppingBasket(ShoppingBasket shoppingBasket) {
>                this.shoppingBasket = shoppingBasket;
>        }
> 
> ...
> 
> When I run ISIS and test the screen, I am getting the following exception,
> 
> *       java.lang.IllegalArgumentException
> *       No such method ' getShoppingBasketItem' or 'isShoppingBasketItem'
> *       
> org.apache.isis.applib.util.Clause#getValueOf(ObjectContracts.java:204)
> *       
> org.apache.isis.applib.util.ObjectContracts#compare(ObjectContracts.java:45)
> *       
> org.atos.tfgm.basket.ShoppingBasketItem#compareTo(ShoppingBasketItem.java:117)
> *       
> org.atos.tfgm.basket.ShoppingBasketItem#compareTo(ShoppingBasketItem.java:15)
> *       java.util.TreeMap#put(TreeMap.java:545)
> *       java.util.TreeSet#add(TreeSet.java:238)
> *       
> org.atos.tfgm.basket.ShoppingBaskets#getBasket(ShoppingBaskets.java:150)
> *       
> sun.reflect.NativeMethodAccessorImpl#invoke0(NativeMethodAccessorImpl.java:-2)
> *       
> sun.reflect.NativeMethodAccessorImpl#invoke(NativeMethodAccessorImpl.java:39)
> *       
> sun.reflect.DelegatingMethodAccessorImpl#invoke(DelegatingMethodAccessorImpl.java:25)
> *       java.lang.reflect.Method#invoke(Method.java:597)
> 
> 
> Have I implemented the relationship incorrectly or missing something.
> 
> 
> Regards
> Dharmesh
> 

Reply via email to