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