[ 
https://issues.apache.org/jira/browse/OPENJPA-2577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Richard Zowalla resolved OPENJPA-2577.
--------------------------------------
    Resolution: Won't Fix

Closing as obsolete during backlog cleanup: The reporter says the production 
error cannot be reproduced, and it was seen on a 2.1.2-SNAPSHOT on WebSphere. 
There is no repro, so nobody can act on it. Please reopen if this still happens 
with OpenJPA 4.x.

> In what case [code=17041, state=99999] SQLException returns during lazy 
> fetching?
> ---------------------------------------------------------------------------------
>
>                 Key: OPENJPA-2577
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2577
>             Project: OpenJPA
>          Issue Type: Question
>          Components: jpa
>    Affects Versions: 2.1.2
>         Environment: JSF application with EJB 3 and open JPA, running on 
> websphere 8.5
>            Reporter: rashmi
>            Priority: Blocker
>              Labels: newbie
>
> Hi,
> In production environment once we got below exception. we are not able to 
> reproduce the problem. That application is stopped using in production due to 
> few issues, out of them one is this.
> I tried to replicate this in many ways on production data dump. but i am not 
> able to replicate.
> To recreate data to replicate, i want to know when this exception is thrown 
> by JPA framework?
> Exception is:
> [2014-10-28 13:04:15:209 CET] 0000003c BusinessExcep E   CNTR0020E: EJB threw 
> an unexpected (non-declared) exception during invocation of method 
> "calculateCompensations" on bean 
> "BeanId(me-std-ear#me-std-web.war#MEFacadeBean, null)". Exception data: 
> <openjpa-2.1.2-SNAPSHOT-r422266:1436521 nonfatal general error> 
> org.apache.openjpa.util.GeneralException: 
> org.apache.openjpa.lib.jdbc.ReportingSQLException: IN- eller OUT-parameter 
> saknas i index:: 1 {prepstmnt 1296099302 SELECT t0.EXTERNAL_ID, 
> t0.LAST_UPDATED, t0.NAME, t0.UOM FROM ITEM t0 WHERE t0.ITEM_ID = ? 
> [params=?]} [code=17041, state=99999]
>         at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:1008)
>         at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:907)
>         at 
> com.ibm.ws.persistence.kernel.WsJpaBrokerImpl.find(WsJpaBrokerImpl.java:199)
>         at 
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.find(JDBCStoreManager.java:1010)
>         at 
> org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.load(RelationFieldStrategy.java:781)
>         at 
> org.apache.openjpa.jdbc.meta.FieldMapping.load(FieldMapping.java:934)
>         at 
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.load(JDBCStoreManager.java:702)
>         at 
> com.ibm.ws.persistence.jdbc.kernel.WsJpaJDBCStoreManager.load(WsJpaJDBCStoreManager.java:130)
>         at 
> org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:117)
>         at 
> org.apache.openjpa.datacache.DataCacheStoreManager.load(DataCacheStoreManager.java:442)
>         at 
> org.apache.openjpa.kernel.DelegatingStoreManager.load(DelegatingStoreManager.java:117)
>         at 
> org.apache.openjpa.kernel.ROPStoreManager.load(ROPStoreManager.java:78)
>         at 
> org.apache.openjpa.kernel.StateManagerImpl.loadFields(StateManagerImpl.java:3061)
>         at 
> org.apache.openjpa.kernel.StateManagerImpl.loadField(StateManagerImpl.java:3136)
>         at 
> org.apache.openjpa.kernel.StateManagerImpl.beforeAccessField(StateManagerImpl.java:1606)
>         at 
> org.apache.openjpa.kernel.StateManagerImpl.accessingField(StateManagerImpl.java:1591)
>         at se.ica.me.entity.OfferPartItem.pcGetitem(OfferPartItem.java)
>         at se.ica.me.entity.OfferPartItem.getItem(OfferPartItem.java:59)
>         at se.ica.me.dao.SaleDAO.getItemsFrom(SaleDAO.java:100)
>         at se.ica.me.dao.SaleDAO.getClusterTotalSaleForItem(SaleDAO.java:50)
> SaleDao.java Code is as below:
> private Set<Item> getItemsFrom(List<OfferPartItem> offerPartItems) {
>               Set<Item> items = new HashSet<Item>();
>               for(OfferPartItem offerPartItem : offerPartItems) {
>                       items.add(offerPartItem.getItem());
>               }
>               return items;
> }
> OfferPartItem.java entity code:
> @Entity
> @Table(name="OFFER_PART_ITEM")
> public class OfferPartItem implements Serializable {
>       private static final long serialVersionUID = 1L;
>       
>       @Id
>       @GeneratedValue(strategy = SEQUENCE, generator = 
> "OFFER_PART_ITEM_SEQ_GNR")
>       @SequenceGenerator(name = "OFFER_PART_ITEM_SEQ_GNR", sequenceName = 
> "OFFER_PART_ITEM_SEQ")
>       @Column(name="OFFER_PART_ITEM_ID")
>       private Long offerPartItemId;
>       
>       @Column(name="COST_PRICE")
>       private BigDecimal costPrice;
>     @ManyToOne(fetch=FetchType.LAZY)
>       @JoinColumn(name="ITEM_ID")
>       private Item item;
>        public Item getItem() {
>               return this.item;
>       }
> Item entity code:
> @Entity
> @Table(name="ITEM")
> @NamedQueries({
>               @NamedQuery(name = "Item.findByExternalId", query = "SELECT i 
> FROM Item i where i.externalId = :externalId")
> })
> public class Item implements Serializable {
>       private static final long serialVersionUID = 1L;
>       public static final String NQ_FIND_BY_EXTERNAL_ID = 
> "Item.findByExternalId";
>       @Id
>       @GeneratedValue(strategy=SEQUENCE, generator = "ITEM_SEQ_GNR")
>       @SequenceGenerator(name = "ITEM_SEQ_GNR", sequenceName = "ITEM_SEQ")
>       @Column(name="ITEM_ID")
>       private Long itemId;
>       /**
>        * ICA StoreItem-identifier
>        */
>       @Column(name="EXTERNAL_ID", length=20)
>       private String externalId;
>       @Column(name="NAME", length=20)
>       private String name;
>       ...
>       ...
> }
> Table structures
> Offer_Part_Item
> OFFER_PART_ITEM_ID N  NUMBER (Primary key)
> ITEM_ID Y     NUMBER (Foreigh key of ITEM table)
> OFFER_PART_ID Y       NUMBER
> COST_PRICE Y  NUMBER
> SALE_ID       Y       NUMBER
> Your early help is very much appreciated.
> Regards,
> Rashmi



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to