[jboss-user] [EJB 3.0] - Wrong query generated
monkeyden
do-not-reply at jboss.com
Tue Nov 7 20:16:28 EST 2006
For some reason, the resulting query from this entity has the ACTUAL DB field names for a couple of the non-pk fields (see SEQ_NUMBER, LAST_UPDATE). Can anyone give a hint as to what might be the problem? Thanks.
Query
select streetwatc0_.userKey as userKey1292_, streetwatc0_.locationId as locationId1292_, streetwatc0_.areaId as areaId1292_, streetwatc0_.addressStandardized as addressS4_1292_, streetwatc0_.SEQ_NUMBER as SEQ5_1292_, streetwatc0_.LAST_UPDATE as LAST6_1292_, streetwatc0_.ADDRESS as ADDRESS1292_
| from DWL_STREET_WATCH_LIST streetwatc0_
| where streetwatc0_.userKey=?
Client code
Query query = em.createQuery("from StreetWatchEntity where userKey = :userKey");
| query.setParameter("userKey", userKey);
| entities = query.getResultList();
Entity
package com.company.project.entity;
|
| import java.util.Date;
|
| import javax.persistence.Column;
| import javax.persistence.Entity;
| import javax.persistence.Id;
| import javax.persistence.IdClass;
| import javax.persistence.NamedQuery;
| import javax.persistence.Table;
|
| import org.jboss.seam.annotations.Name;
|
| @NamedQuery(
| name="orderedStreets",
| query="from StreetWatchEntity order by seqNumber"
| )
|
| @Entity
| @Name("streetWatchEntity")
| @Table(name = "STREET_WATCH_LIST")
| @IdClass(StreetWatchPK.class)
| public class StreetWatchEntity implements java.io.Serializable {
| private static final long serialVersionUID = 4855048029589330487L;
|
| public StreetWatchEntity(){}
|
| public StreetWatchEntity(Long userKey, Long locationId, String address, String addressStandardized, Date lastUpdate, Long seqNumber, Long areaId) {
| this.userKey = userKey;
| this.locationId = locationId;
| this.address = address;
| this.addressStandardized = addressStandardized;
| this.lastUpdate = lastUpdate;
| this.seqNumber = seqNumber;
| this.areaId = areaId;
| }
|
| /**
| * Retrieves the UserKey from the entity
| */
| @Id
| @Column(name = "USER_KEY", length = 22, nullable = false)
| public Long getUserKey() {
| return this.userKey;
| }
|
| /**
| * Sets the UserKey of the entity
| */
| public void setUserKey(Long userKey) {
| this.userKey = userKey;
| }
|
| /**
| * Retrieves the LocationId from the entity
| */
| @Id
| @Column(name = "LOCATION_ID", length = 19, nullable = false)
| public Long getLocationId() {
| return this.locationId;
| }
|
| /**
| * Sets the LocationId of the entity
| */
| public void setLocationId(Long locationId) {
| this.locationId = locationId;
| }
|
| /**
| * Retrieves the AddressStandardized from the entity
| */
| @Id
| @Column(name = "ADDRESS_STANDARDIZED", length = 128, nullable = false)
| public String getAddressStandardized() {
| return this.addressStandardized;
| }
|
| /**
| * Sets the AddressStandardized of the entity
| */
| public void setAddressStandardized(String addressStandardized) {
| this.addressStandardized = addressStandardized;
| }
|
| /**
| * Retrieves the AreaId from the entity
| */
| @Id
| @Column(name = "AREA_ID", length = 22, nullable = false)
| public Long getAreaId() {
| return this.areaId;
| }
|
| /**
| * Sets the AreaId of the entity
| */
| public void setAreaId(Long areaId) {
| this.areaId = areaId;
| }
|
| /**
| * Retrieves the Address from the entity
| */
| @Column(name = "ADDRESS", length = 128, nullable = true)
| public String getAddress() {
| return this.address;
| }
|
| /**
| * Sets the Address of the entity
| */
| public void setAddress(String address) {
| this.address = address;
| }
|
| /**
| * Retrieves the LastUpdate from the entity
| */
| @Column(name = "LAST_UPDATE", length = 7, nullable = true)
| public Date getLastUpdate() {
| return this.lastUpdate;
| }
|
| /**
| * Sets the LastUpdate of the entity
| */
| public void setLastUpdate(Date lastUpdate) {
| this.lastUpdate = lastUpdate;
| }
|
| /**
| * Retrieves the SeqNumber from the entity
| */
| @Column(name = "SEQ_NUMBER", length = 22, nullable = false)
| public Long getSeqNumber() {
| return this.seqNumber;
| }
|
| /**
| * Sets the SeqNumber of the entity
| */
| public void setSeqNumber(Long seqNumber) {
| this.seqNumber = seqNumber;
| }
|
| private String address = null;
|
| private String addressStandardized = null;
|
| private Long areaId = null;
|
| private Date lastUpdate = null;
|
| private Long locationId = null;
|
| private Long seqNumber = null;
|
| private Long userKey = null;
| }
PK Class
package com.company.project.entity;
|
| import java.io.Serializable;
|
| public class StreetWatchPK implements Serializable{
| private static final long serialVersionUID = 3355389391459690610L;
|
| private Long userKey = null;
|
| private Long locationId = null;
|
| private String addressStandardized = null;
|
| private Long areaId = null;
|
| /**
| * No-arg constructor
| */
| public StreetWatchPK( ) {}
|
| /**
| * All-fields constructor
| * @param userKey
| * @param locationId
| * @param addressStandardized
| * @param areaId
| */
| public StreetWatchPK(Long userKey, Long locationId, String addressStandardized, Long areaId) {
| this.userKey = userKey;
| this.locationId = locationId;
| this.addressStandardized = addressStandardized;
| this.areaId = areaId;
| }
|
| public boolean equals(Object obj) {
| if (obj == this)
| return true;
| if (!(obj instanceof StreetWatchPK))
| return false;
| StreetWatchPK pk = (StreetWatchPK) obj;
|
| //User Key
| if(locationId.longValue() != pk.getLocationId().longValue()){
| return false;
| }
| //Location Id
| if(userKey.longValue() != pk.getUserKey().longValue()){
| return false;
| }
| //Area Id
| if(areaId.longValue() != pk.getAreaId().longValue()){
| return false;
| }
| if (!addressStandardized.equals(pk.addressStandardized)){
| return false;
| }
| return true;
| }
|
| public int hashCode() {
| return addressStandardized.hashCode() +
| (int)areaId.longValue() +
| (int)locationId.longValue() +
| (int)userKey.longValue();
| }
|
| /**
| * @return the addressStandardized
| */
| public String getAddressStandardized() {
| return addressStandardized;
| }
|
| /**
| * @param addressStandardized the addressStandardized to set
| */
| public void setAddressStandardized(String addressStandardized) {
| this.addressStandardized = addressStandardized;
| }
|
| /**
| * @return the areaId
| */
| public Long getAreaId() {
| return areaId;
| }
|
| /**
| * @param areaId the areaId to set
| */
| public void setAreaId(Long areaId) {
| this.areaId = areaId;
| }
|
| /**
| * @return the locationId
| */
| public Long getLocationId() {
| return locationId;
| }
|
| /**
| * @param locationId the locationId to set
| */
| public void setLocationId(Long locationId) {
| this.locationId = locationId;
| }
|
| /**
| * @return the userKey
| */
| public Long getUserKey() {
| return userKey;
| }
|
| /**
| * @param userKey the userKey to set
| */
| public void setUserKey(Long userKey) {
| this.userKey = userKey;
| }
|
| }
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3983967#3983967
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3983967
More information about the jboss-user
mailing list