Mapping mit transient fields

argonist

Mitglied
Hallo ihr,

Wie kann ein Transient Feld das gerechneten Wert aus Datenbank bekommen?

Entity Bean
RawRequest.java
Java:
@SqlResultSetMapping(name="GetOfferSize", entities={
	    @EntityResult(entityClass=de.kirchedlau.ponte.ejb.entities.RawRequest.class, fields = {
	        @FieldResult(name="offerListSize", column="offerlistsize"),
	        @FieldResult(name="id", column="ID"),
	        @FieldResult(name="changeLog", column="CHANGE_LOG"),
	      ...
              ...
	    })
	    }
	)

@Entity
@Table(name = "RAW_REQUEST")
public class RawRequest implements Serializable {

	
	@Id
	@GeneratedValue
	private long id;

	@Column(name = "CHANGE_LOG")
	private String changeLog;

        ....
        ....

	@Transient
	private int offerListSize;

Session Bean
RequestBean.java
Java:
@Stateless
public class RequestBean implements RequestInterface {

	public List<RawRequest> getRawRequestsList() {

		List<RawRequest> reqList = new LinkedList<RawRequest>();

			Query query = manager.createNativeQuery("select distinct * , (select count(*) from OFFER o where o.REQUEST_ID = rr.ID) as offerlistsize from RAW_REQUEST rr ","GetOfferSize");
			reqList.addAll((Collection<RawRequest>) query.getResultList());
                        
                        return reqList;
		}
}

Wie kann das Transient Feld "offerListsize" das Wert von SQL-Statement "select count(*) from OFFER o where o.REQUEST_ID = rr.ID" bekommen? Das ist irgenwie falsch? Bis jetzt gibt das offerListsize 0 aus.

Manu
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben