I have an entity which extends another entity:
@Entity
@DiscriminatorValue("PARKING")
@Table(name="parkingPois")
@NamedQueries({
@NamedQuery(name="ParkingPoiDao.findAll", query="SELECT p FROM ParkingPoiDao p"),
@NamedQuery(name="ParkingPoiDao.findById", query="SELECT p FROM ParkingPoiDao p WHERE p.parkingPoiId = :parkingPoiId")
})
public class ParkingPoiDao extends PoiDao implements Serializable {
//@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
private int id;
@Column(name="parkingPoiId")
private String parkingPoiId;
@Column(name="poiId")
...
}
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
@DiscriminatorColumn(name="poiType", discriminatorType=DiscriminatorType.STRING)
@Table(name="pois")
public abstract class PoiDao implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="poiId")
private int poiId;
...
When I try to query for a parkingPoi I get nor results.
TypedQuery<ParkingPoiDao> query =
em.createNamedQuery("ParkingPoiDao.findAll", ParkingPoiDao.class);
// TypedQuery<ParkingPoiDao> query =
// em.createNamedQuery("ParkingPoiDao.findById", ParkingPoiDao.class)
// .setParameter("parkingPoiId", facilityId);
// .setParameter("poiType", "ParkingPOI");
// ParkingPoiDao pPoiDao = query.getSingleResult();
List<ParkingPoiDao> pPoiDaos = query.getResultList();
(Both, the active and the outcommented queries have no results.)
In the database I have a table pois for the parent class and a "subtable" for parkingPois which holds a foreign key (pois.poiId).
What can be the reason??