Sorry typo mistake,
Actually it should be
+ " AND H.invoice_no =\"PMI02/000001\"";
Like what you suggested.
But it's still not working.
> -----Original Message-----
> From: Anders S�e [mailto:[EMAIL PROTECTED]]
> Sent: 07 September 2002 16:38
> To: 'OJB Users List'; Stephen Ting Tiew Ung
> Subject: SV: Need help in 1:N mapping
>
>
> 2 questions for the following statement:
>
> String sql = "SELECT H.invoice_no, H.invoice_date,
> H.customer_no, I.part_no,I.qty,I.unit_price"
> + " FROM invoice H, invoice_item I "
> + " WHERE H.invoice_no = I.invoice_no"
> + " AND H.invoice_no =\" PMI02/000001"\";
> ^ ^
> 1 2
>
> 1: should there be a space here ?
>
> 2: why is the outer quote escaped ?
>
> Shouldn't it be:
> + " AND H.invoice_no =\"PMI02/000001\"";
>
> /Soee
>
> ----- Oprindelig meddelelse-----
> Fra: Stephen Ting [mailto:[EMAIL PROTECTED]]
> Sendt: 7. september 2002 05:50
> Til: 'Ojb Users List'
> Emne: Need help in 1:N mapping
>
>
> Hi all,
>
> I am using OJB for 1:N mapping. The code and mapping is shown below.
> When i run this query the following error occur.
> The column actually should be invoice_no.
>
> [org.apache.ojb.broker.accesslayer.JdbcAccess] ERROR:
> SQLException during the execution of the SQL query: Invalid
> column name 'PMI02/000001'. Invalid column name 'PMI02/000001'.
>
> String sql = "SELECT H.invoice_no, H.invoice_date,
> H.customer_no, I.part_no,I.qty,I.unit_price"
> + " FROM invoice H, invoice_item I "
> + " WHERE H.invoice_no = I.invoice_no"
> + " AND H.invoice_no =\" PMI02/000001"\";
>
> Query query = QueryFactory.newQuery(InvoiceBO.class, sql);
>
> PersistenceBroker broker =
> PersistenceBrokerFactory.createPersistenceBroker(
> new PBKey("repositoryB.xml", null, null));
>
> Collection result = broker.getCollectionByQuery(query);
>
>
> Can anyone help or point out where i get wrong??
>
> Thanks in advance.
>
>
> InvoiceBO.class
> -----------------------
> public class InvoiceBO extends BaseBO {
>
> private String invoiceNo;
> private Timestamp invoiceDate;
> private String customerNo;
> private List invoiceItems;
>
> /** Creates a new instance of Invoice */
> public InvoiceBO() {
> invoiceItems = new ArrayList();
> }
> public void addInvoiceItem(InvoiceItemBO invoiceItem){
> invoiceItems.add(invoiceItem);
> }
> public void setInvoiceNo(String invoiceNo){
> this.invoiceNo = invoiceNo;
> }
> public String getInvoiceNo(){
> return invoiceNo;
> }
> public void setInvoiceDate(Timestamp invoiceDate){
> this.invoiceDate = invoiceDate;
> }
> public Timestamp getInvoiceDate(){
> return invoiceDate;
> }
> public void setCustomerNo(String customerNo){
> this.customerNo = customerNo;
> }
> public String getCustomerNo(){
> return customerNo;
> }
> public void setInvoiceItems(List invoiceItems){
> this.invoiceItems = invoiceItems;
> }
> public List getInvoiceItems(){
> return invoiceItems;
> }
> public String toString(){
> StringBuffer sb = new StringBuffer();
> sb.append("Invoice Date: " + invoiceDate.toString());
> sb.append(" Customer No: " + invoiceDate.toString());
> return sb.toString();
> }
> }
>
> <!-- Definitions for my.com.shinyang.einout.business.bo.InvoiceBO -->
>
> <class-descriptor
> class="my.com.shinyang.einout.business.bo.InvoiceBO"
> table="invoice">
>
> <field-descriptor id="1"
> name="invoiceNo"
> column="invoice_no"
> jdbc-type="VARCHAR"
> primarykey="true"
> />
> <field-descriptor id="2"
> name="customerNo"
> column="customer_no"
> jdbc-type="VARCHAR"
> />
> <field-descriptor id="3"
> name="invoiceDate"
> column="invoice_date"
> jdbc-type="TIMESTAMP"
> />
> <collection-descriptor
> name="invoiceItems"
>
> element-class-ref="my.com.shinyang.einout.business.bo.InvoiceItemBO"
> auto-retrieve="true"
> auto-update="false"
> auto-delete="false"
> orderby="invoiceNo"
> sort="DESC">
> <inverse-foreignkey field-id-ref="2"/>
> </collection-descriptor>
>
> </class-descriptor>
>
>
> InvoiceItemBO.class
> --------------------------------
>
> public class InvoiceItemBO extends BaseBO {
>
> private String invoiceNo;
> private String itemNo;
> private BigDecimal qty;
> private Double unitPrice;
> private InvoiceBO invoiceBO;
>
> /** Creates a new instance of InvoiceItemBO */
> public InvoiceItemBO() {
> }
> public void setItemNo(String itemNo){
> this.itemNo = itemNo;
> }
> public String getItemNo(){
> return itemNo;
> }
> public void setInvoiceBO(InvoiceBO invoiceBO){
> this.invoiceBO = invoiceBO;
> }
> public InvoiceBO getInvoiceBO(){
> return invoiceBO;
> }
> public void setInvoiceNo(String invoiceNo){
> this.invoiceNo = invoiceNo;
> }
> public String getInvoiceNo(){
> return invoiceNo;
> }
> public void setQty(BigDecimal qty){
> this.qty = qty;
> }
> public BigDecimal getQty(){
> return qty;
> }
> public void setUnitPrice(Double unitPrice){
> this.unitPrice = unitPrice;
> }
> public Double getUnitPrice(){
> return unitPrice;
> }
> }
>
>
> <!-- Definitions for my.com.shinyang.einout.business.bo.InvoiceItemBO
> -->
>
> <class-descriptor
> class="my.com.shinyang.einout.business.bo.InvoiceItemBO"
> table="invoice_item">
>
> <field-descriptor id="2"
> name="invoiceNo"
> column="invoice_no"
> jdbc-type="VARCHAR"
> primarykey="true"
> />
> <field-descriptor id="3"
> name="itemNo"
> column="part_no"
> jdbc-type="VARCHAR"
> primarykey="true"
> />
> <field-descriptor id="4"
> name="qty"
> column="qty"
> jdbc-type="DECIMAL"
> />
> <field-descriptor id="6"
> name="unitPrice"
> column="unit_price"
> jdbc-type="DOUBLE"
> />
> <reference-descriptor
> name="invoiceBO"
> class-ref="my.com.shinyang.einout.business.bo.InvoiceBO">
> <foreignkey field-id-ref="2"/>
> </reference-descriptor>
> </class-descriptor>
>
>
>
> --
> To unsubscribe, e-mail:
> <mailto:ojb-user-> [EMAIL PROTECTED]>
> For
> additional commands,
> e-mail: <mailto:[EMAIL PROTECTED]>
>
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>