| 
					
						 Hi all, I'm trying to use the following SQL Query:
  @NamedNativeQuery(name="archive&file", query=" SELECT id, "+ 		"      sender_id, "+ 		"      date_created "+ 		" FROM DOCUMENT_ARCHIVE da "+ 		" where da.SOURCE_FILE_NAME = 'shpaig0140_shpsts_shpaig_C2KRMP1.txt' "+ 		" union all "+ 		" select file_id,"+ 		"      sender_id,"+ 		"      date_created "+ 		" from DOCUMENT_FILE df "+ 		" WHERE df.SOURCE_FILE_NAME = 'shpaig0140_shpsts_shpaig_C2KRMP1.txt' ",          resultSetMapping="joinMapping",resultClass=DocumentArchive.class) @SqlResultSetMapping(name="joinMapping", entities={ 		 @EntityResult(entityClass=com.kn.ms.tracking.client.DocumentArchive.class, fields= { 	            @FieldResult(name="id", column="id"), 	            @FieldResult(name="sender_id", column="sender_id"), 	            @FieldResult(name="date_created", column="date_created"), 	        }), 	        @EntityResult(entityClass=com.kn.ms.tracking.client.DocumentFile.class, fields = { 	        	@FieldResult(name="file_id", column="id"), 	            @FieldResult(name="sender_id", column="sender_id"), 	            @FieldResult(name="date_created", column="date_created"), 	        })     } )
  Both tables does not have any relationship each other. I just want to look in one query for a SOURCE_FILE_NAME. This SQL works directly from Oracle Developer but whenever I'm trying to run it with JPA/Hibernate Impl. I'm getting the error:
  org.hibernate.util.JDBCExceptionReporter  - SQL Error: 17006, SQLState: 99999 Undefined Column.
  The code used: Query queryR = getEntityManager().createNamedQuery("archive&file");
  The Objects: /**  *  */ package com.kn.ms.tracking.client;
  import java.io.Serializable; import java.util.Date;
  import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table;
 
 
  @NamedQueries( {   @NamedQuery(name = "getAllDocumentFiles",query = "SELECT c FROM DocumentFile c"),   @NamedQuery(name = "rowCountQueryDocumentFiles",query = "SELECT count(c) FROM DocumentFile c") })
  @Entity @Table(name="DOCUMENT_FILE") public class DocumentFile extends AbstractDTO implements Serializable {   /**    *    */   private static final long serialVersionUID = 2374831861337326844L;   /**    *    */
    @Id   private String file_id;   private Date date_received;   private String source_file_name;   private String sender_id;   private Integer status;   private Date date_created;   private String source_hub;   private String source_encoding;   private String internal_directory;   private String transport_type;   private Date retention_period;   private Integer content_length;   /**    * @return the file_id    */   public String getFile_id() {     return file_id;   }   /**    * @param fileId the file_id to set    */   public void setFile_id(String fileId) {     file_id = fileId;   }   /**    * @return the date_received    */   public Date getDate_received() {     return date_received;   }   /**    * @param dateReceived the date_received to set    */   public void setDate_received(Date dateReceived) {     date_received = dateReceived;   }   /**    * @return the source_file_name    */   public String getSource_file_name() {     return source_file_name;   }   /**    * @param sourceFileName the source_file_name to set    */   public void setSource_file_name(String sourceFileName) {     source_file_name = sourceFileName;   }   /**    * @return the sender_id    */   public String getSender_id() {     return sender_id;   }   /**    * @param senderId the sender_id to set    */   public void setSender_id(String senderId) {     sender_id = senderId;   }   /**    * @return the status    */   public Integer getStatus() {     return status;   }   /**    * @param status the status to set    */   public void setStatus(Integer status) {     this.status = status;   }   /**    * @return the date_created    */   public Date getDate_created() {     return date_created;   }   /**    * @param dateCreated the date_created to set    */   public void setDate_created(Date dateCreated) {     date_created = dateCreated;   }   /**    * @return the source_hub    */   public String getSource_hub() {     return source_hub;   }   /**    * @param sourceHub the source_hub to set    */   public void setSource_hub(String sourceHub) {     source_hub = sourceHub;   }   /**    * @return the source_encoding    */   public String getSource_encoding() {     return source_encoding;   }   /**    * @param sourceEncoding the source_encoding to set    */   public void setSource_encoding(String sourceEncoding) {     source_encoding = sourceEncoding;   }   /**    * @return the internal_directory    */   public String getInternal_directory() {     return internal_directory;   }   /**    * @param internalDirectory the internal_directory to set    */   public void setInternal_directory(String internalDirectory) {     internal_directory = internalDirectory;   }   /**    * @return the transport_type    */   public String getTransport_type() {     return transport_type;   }   /**    * @param transportType the transport_type to set    */   public void setTransport_type(String transportType) {     transport_type = transportType;   }   /**    * @return the retention_period    */   public Date getRetention_period() {     return retention_period;   }   /**    * @param retentionPeriod the retention_period to set    */   public void setRetention_period(Date retentionPeriod) {     retention_period = retentionPeriod;   }   /**    * @return the content_length    */   public Integer getContent_length() {     return content_length;   }   /**    * @param contentLength the content_length to set    */   public void setContent_length(Integer contentLength) {     content_length = contentLength;   }   /**    * @return the serialversionuid    */   public static long getSerialversionuid() {     return serialVersionUID;   }
 
 
  }
  ================================================== /**  *  */ package com.kn.ms.tracking.client;
  import java.io.Serializable; import java.util.Date;
  import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EntityResult; import javax.persistence.FetchType; import javax.persistence.FieldResult; import javax.persistence.Id; import javax.persistence.NamedNativeQuery; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.SqlResultSetMapping; import javax.persistence.Table;
 
 
  @NamedQueries( {   @NamedQuery(name = "getAll",query = "SELECT c FROM DocumentArchive c"),   @NamedQuery(name = "rowCountQuery",query = "SELECT count(c) FROM DocumentArchive c") })
  @Entity @Table(name="DOCUMENT_ARCHIVE")
  @NamedNativeQuery(name="archive&file", query=" SELECT id, "+ 		"      sender_id, "+ 		"      date_created "+ 		" FROM DOCUMENT_ARCHIVE da "+ 		" where da.SOURCE_FILE_NAME = 'shpaig0140_shpsts_shpaig_C2KRMP1.txt' "+ 		" union all "+ 		" select file_id,"+ 		"      sender_id,"+ 		"      date_created "+ 		" from DOCUMENT_FILE df "+ 		" WHERE df.SOURCE_FILE_NAME = 'shpaig0140_shpsts_shpaig_C2KRMP1.txt' ",          resultSetMapping="joinMapping",resultClass=DocumentArchive.class) @SqlResultSetMapping(name="joinMapping", entities={ 		 @EntityResult(entityClass=com.kn.ms.tracking.client.DocumentArchive.class, fields= { 	            @FieldResult(name="id", column="id"), 	            @FieldResult(name="sender_id", column="sender_id"), 	            @FieldResult(name="date_created", column="date_created"), 	        }), 	        @EntityResult(entityClass=com.kn.ms.tracking.client.DocumentFile.class, fields = { 	        	@FieldResult(name="file_id", column="id"), 	            @FieldResult(name="sender_id", column="sender_id"), 	            @FieldResult(name="date_created", column="date_created"), 	        })     } )
  public class DocumentArchive extends AbstractDTO implements Serializable {
    @Id   private String id;
    private Integer document_type;   private Date date_received;   private String source_file_name;   private String file_id;   private String sender_id;   private String receiver_id;   private Integer status;   private String message_type;   private String target_hub;   private Integer delivery_mode;
    @Basic(fetch = FetchType.LAZY)   @Column(name = "PHYSICAL_SENDER", columnDefinition = "char")   private String physical_sender;
    @Basic(fetch = FetchType.LAZY)   @Column(name = "PHYSICAL_RECEIVER", columnDefinition = "char")   private String physical_receiver;
    private String logical_receiver;   private Integer priority;   private String target_file_name;
    @Column(name = "SOURCE_ENCODING", columnDefinition = "char")   private String source_encoding;   @Column(name = "TARGET_ENCODING", columnDefinition = "char")   private String target_encoding;
    @Column(name = "RECEIVER_UPDATE", columnDefinition = "char")   private String receiver_update;
    @Column(name = "SOURCE_HEADER_TYPE", columnDefinition = "char")   private String source_header_type;   private Integer content_length;   private Date date_delivered;   private String routing_entry;   private String outbound_file_id;   private String internal_directory;   private Date retention_period;   private Date date_created;   private String logical_sender;   private String transform_xml;   private String transform_xslt;   /**    * @return the id    */   public String getId() {     return id;   }   /**    * @param id the id to set    */   public void setId(String id) {     this.id = id;   }   /**    * @return the document_type    */   public Integer getDocument_type() {     return document_type;   }   /**    * @param documentType the document_type to set    */   public void setDocument_type(Integer documentType) {     document_type = documentType;   }   /**    * @return the date_received    */   public Date getDate_received() {     return date_received;   }   /**    * @param dateReceived the date_received to set    */   public void setDate_received(Date dateReceived) {     date_received = dateReceived;   }   /**    * @return the source_file_name    */   public String getSource_file_name() {     return source_file_name;   }   /**    * @param sourceFileName the source_file_name to set    */   public void setSource_file_name(String sourceFileName) {     source_file_name = sourceFileName;   }   /**    * @return the file_id    */   public String getFile_id() {     return file_id;   }   /**    * @param fileId the file_id to set    */   public void setFile_id(String fileId) {     file_id = fileId;   }   /**    * @return the sender_id    */   public String getSender_id() {     return sender_id;   }   /**    * @param senderId the sender_id to set    */   public void setSender_id(String senderId) {     sender_id = senderId;   }   /**    * @return the receiver_id    */   public String getReceiver_id() {     return receiver_id;   }   /**    * @param receiverId the receiver_id to set    */   public void setReceiver_id(String receiverId) {     receiver_id = receiverId;   }   /**    * @return the status    */   public Integer getStatus() {     return status;   }   /**    * @param status the status to set    */   public void setStatus(Integer status) {     this.status = status;   }   /**    * @return the message_type    */   public String getMessage_type() {     return message_type;   }   /**    * @param messageType the message_type to set    */   public void setMessage_type(String messageType) {     message_type = messageType;   }   /**    * @return the target_hub    */   public String getTarget_hub() {     return target_hub;   }   /**    * @param targetHub the target_hub to set    */   public void setTarget_hub(String targetHub) {     target_hub = targetHub;   }   /**    * @return the delivery_mode    */   public Integer getDelivery_mode() {     return delivery_mode;   }   /**    * @param deliveryMode the delivery_mode to set    */   public void setDelivery_mode(Integer deliveryMode) {     delivery_mode = deliveryMode;   }   /**    * @return the physical_sender    */   public String getPhysical_sender() {     return physical_sender;   }   /**    * @param physicalSender the physical_sender to set    */   public void setPhysical_sender(String physicalSender) {     physical_sender = physicalSender;   }
    /**    * @return the logical_receiver    */   public String getLogical_receiver() {     return logical_receiver;   }   /**    * @param logicalReceiver the logical_receiver to set    */   public void setLogical_receiver(String logicalReceiver) {     logical_receiver = logicalReceiver;   }   /**    * @return the priority    */   public Integer getPriority() {     return priority;   }   /**    * @param priority the priority to set    */   public void setPriority(Integer priority) {     this.priority = priority;   }   /**    * @return the target_file_name    */   public String getTarget_file_name() {     return target_file_name;   }   /**    * @param targetFileName the target_file_name to set    */   public void setTarget_file_name(String targetFileName) {     target_file_name = targetFileName;   }   /**    * @return the source_encoding    */   public String getSource_encoding() {     return source_encoding;   }   /**    * @param sourceEncoding the source_encoding to set    */   public void setSource_encoding(String sourceEncoding) {     source_encoding = sourceEncoding;   }   /**    * @return the target_encoding    */   public String getTarget_encoding() {     return target_encoding;   }   /**    * @param targetEncoding the target_encoding to set    */   public void setTarget_encoding(String targetEncoding) {     target_encoding = targetEncoding;   }   /**    * @return the receiver_update    */   public String getReceiver_update() {     return receiver_update;   }   /**    * @param receiverUpdate the receiver_update to set    */   public void setReceiver_update(String receiverUpdate) {     receiver_update = receiverUpdate;   }   /**    * @return the source_header_type    */   public String getSource_header_type() {     return source_header_type;   }   /**    * @param sourceHeaderType the source_header_type to set    */   public void setSource_header_type(String sourceHeaderType) {     source_header_type = sourceHeaderType;   }   /**    * @return the content_length    */   public Integer getContent_length() {     return content_length;   }   /**    * @param contentLength the content_length to set    */   public void setContent_length(Integer contentLength) {     content_length = contentLength;   }   /**    * @return the date_delivered    */   public Date getDate_delivered() {     return date_delivered;   }   /**    * @param dateDelivered the date_delivered to set    */   public void setDate_delivered(Date dateDelivered) {     date_delivered = dateDelivered;   }   /**    * @return the routing_entry    */   public String getRouting_entry() {     return routing_entry;   }   /**    * @param routingEntry the routing_entry to set    */   public void setRouting_entry(String routingEntry) {     routing_entry = routingEntry;   }   /**    * @return the outbound_file_id    */   public String getOutbound_file_id() {     return outbound_file_id;   }   /**    * @param outboundFileId the outbound_file_id to set    */   public void setOutbound_file_id(String outboundFileId) {     outbound_file_id = outboundFileId;   }   /**    * @return the internal_directory    */   public String getInternal_directory() {     return internal_directory;   }   /**    * @param internalDirectory the internal_directory to set    */   public void setInternal_directory(String internalDirectory) {     internal_directory = internalDirectory;   }   /**    * @return the retention_period    */   public Date getRetention_period() {     return retention_period;   }   /**    * @param retentionPeriod the retention_period to set    */   public void setRetention_period(Date retentionPeriod) {     retention_period = retentionPeriod;   }   /**    * @return the date_created    */   public Date getDate_created() {     return date_created;   }   /**    * @param dateCreated the date_created to set    */   public void setDate_created(Date dateCreated) {     date_created = dateCreated;   }   /**    * @return the logical_sender    */   public String getLogical_sender() {     return logical_sender;   }   /**    * @param logicalSender the logical_sender to set    */   public void setLogical_sender(String logicalSender) {     logical_sender = logicalSender;   }   /**    * @return the transform_xml    */   public String getTransform_xml() {     return transform_xml;   }   /**    * @param transformXml the transform_xml to set    */   public void setTransform_xml(String transformXml) {     transform_xml = transformXml;   }   /**    * @return the transform_xslt    */   public String getTransform_xslt() {     return transform_xslt;   }   /**    * @param transformXslt the transform_xslt to set    */   public void setTransform_xslt(String transformXslt) {     transform_xslt = transformXslt;   } }
  The NativeQuery has just to return a dummy resultSet. Knows anybody about this? Is it possible to get result from 2 different tables using JPA/Hib? Any concrete example will be helpful.
  Best Regards, 
					
  
						
					 |