KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > xpetstore > domain > catalog > ejb > Product


1 package xpetstore.domain.catalog.ejb;
2
3 import java.util.Collection JavaDoc;
4
5 import javax.persistence.CascadeType;
6 import javax.persistence.Column;
7 import javax.persistence.Entity;
8 import javax.persistence.Id;
9 import javax.persistence.JoinColumn;
10 import javax.persistence.ManyToOne;
11 import javax.persistence.OneToMany;
12
13 import javax.persistence.Table;
14
15
16 /**
17  *
18  * @ ejb.bean
19  * name="Product"
20  * type="CMP"
21  * view-type="local"
22  * primkey-field="productId"
23  * schema="Product"
24  * cmp-version="${ejb.cmp.version}"
25  * @ ejb.value-object
26  * name="Product"
27  * match="*"
28  * @ ejb.transaction
29  * type="Required"
30  * @ ejb.persistence
31  * table-name="T_PRODUCT"
32  *
33  * @ jboss.persistence
34  * create-table="${jboss.create.table}"
35  * remove-table="${jboss.remove.table}"
36  */

37 @Entity(name="Product")
38 @Table(name="T_PRODUCT")
39 public class Product
40 {
41    private String JavaDoc productId;
42    private String JavaDoc name;
43    private String JavaDoc description;
44    private Collection JavaDoc items;
45    private Category category;
46    
47    public Product()
48    {
49       
50    }
51    
52    public Product(String JavaDoc productId, String JavaDoc name, String JavaDoc description)
53    {
54       this.productId = productId;
55       this.name = name;
56       this.description = description;
57    }
58    
59     /**
60      * @ ejb.pk-field
61      * @ ejb.persistence
62      * column-name="productId"
63      * jdbc-type="VARCHAR"
64      * sql-type="varchar(10)"
65      * @ ejb.interface-method
66      * @ ejb.transaction
67      * type="Supports"
68      */

69    @Id
70    @Column(name="productId", length=10)
71     public String JavaDoc getProductId( )
72     {
73        return productId;
74     }
75
76     public void setProductId( String JavaDoc productId )
77     {
78        this.productId = productId;
79     }
80
81     /**
82      * @ ejb.persistence
83      * column-name="name"
84      * jdbc-type="VARCHAR"
85      * sql-type="varchar(50)"
86      */

87     @Column(name="name", length=50)
88     public String JavaDoc getName( )
89     {
90        return name;
91     }
92
93     public void setName( String JavaDoc name )
94     {
95        this.name = name;
96     }
97
98     /**
99      * @ ejb.persistence
100      * column-name="description"
101      * jdbc-type="VARCHAR"
102      * sql-type="varchar(255)"
103      */

104     @Column(name="description", length=255)
105     public String JavaDoc getDescription( )
106     {
107        return description;
108     }
109
110     public void setDescription( String JavaDoc description )
111     {
112        this.description = description;
113     }
114
115     /**
116      * @ ejb.interface-method
117      * @ ejb.relation
118      * name="product-items"
119      * role-name="product-has-items"
120      */

121     @OneToMany(targetEntity=Item.class, cascade={CascadeType.ALL})
122     @JoinColumn(name="PRODUCT_ID")
123     public Collection JavaDoc getItems( )
124     {
125        return items;
126     }
127
128     public void setItems( Collection JavaDoc items )
129     {
130        this.items = items;
131     }
132
133     /**
134      * @ ejb.interface-method
135      * @ ejb.relation
136      * name="category-products"
137      * role-name="product-belongs_to-category"
138      * cascade-delete="yes"
139      *
140      * @ jboss.relation
141      * fk-column="category_fk"
142      * related-pk-field="categoryId"
143      * fk-contraint="${db.foreign.key}"
144      *
145      * @ weblogic.column-map
146      * foreign-key-column="category_fk"
147      */

148     @ManyToOne(cascade={CascadeType.ALL})
149     @JoinColumn(name="CATEGORY_ID")
150     public Category getCategory( )
151     {
152        return category;
153     }
154
155     public void setCategory( Category category )
156     {
157        this.category = category;
158     }
159     
160     public String JavaDoc toString()
161     {
162        StringBuffer JavaDoc buffer = new StringBuffer JavaDoc(200);
163        buffer.append("[Product: productId " + productId);
164        buffer.append(", name " + name);
165        buffer.append("]");
166        
167        return buffer.toString();
168     }
169
170 }
171
Popular Tags