01: /**
02: * Speedo: an implementation of JDO compliant personality on top of JORM generic
03: * I/O sub-system.
04: * Copyright (C) 2001-2004 France Telecom R&D
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2 of the License, or (at your option) any later version.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this library; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19: *
20: *
21: *
22: * Contact: speedo@objectweb.org
23: *
24: */package org.objectweb.speedo.ejb.pobjects.ref;
25:
26: import javax.persistence.Column;
27: import javax.persistence.DiscriminatorColumn;
28: import javax.persistence.DiscriminatorType;
29: import javax.persistence.DiscriminatorValue;
30: import javax.persistence.Entity;
31: import javax.persistence.Id;
32: import javax.persistence.Inheritance;
33: import javax.persistence.InheritanceType;
34: import javax.persistence.Table;
35:
36: /**
37: * This is an example of self-referencing class with filtered inheritance.
38: * Used in conjonction with GeoRef.
39: *
40: * @author Y.Bersihand, P. Dechamboux
41: */
42:
43: @Entity
44: @Table(name="EJB_LITEM")
45: @Inheritance(strategy=InheritanceType.SINGLE_TABLE)
46: @DiscriminatorValue("0")
47: @DiscriminatorColumn(name="DISCRIM",discriminatorType=DiscriminatorType.INTEGER)
48: public class Litem {
49: private Long oid;
50: private String name;
51:
52: public Litem(String name) {
53: setName(name);
54: }
55:
56: @Id
57: @Column(name="ID")
58: public Long getOid() {
59: return oid;
60: }
61:
62: public void setOid(Long oid) {
63: this .oid = oid;
64: }
65:
66: @Column(name="NAME")
67: public String getName() {
68: return name;
69: }
70:
71: public void setName(String name) {
72: this.name = name;
73: }
74: }
|