2016-03-31 20 views
1
@Inject 

private CollectionDatasource<Scheme, UUID> schemesDs; 

Ich versuche, die Sammlung Datenquelle für Schema-DatenquelleBound Mismatch für Collectiondatasource Arbeits

Ich erhalte diesen Fehler auf Eclipse als Fehler zu instanziiert

Bound Mismatch: Der Typ Schema ist kein gültiges Ersatz für den beschränkten Parameter> des Typs CollectionDatasource

Dies ist das Unternehmen für Schema

@Inject 

private CollectionDatasource<Scheme, UUID> schemesDs; 


Here is the Scheme Entity Class. 


/* 

* Copyright (c) 2016 water-scheme-nigeria 

*/ 

package com.company.waterschemenigeria.entity; 


import javax.persistence.Entity; 

import javax.persistence.Table; 

import javax.persistence.Column; 

import com.haulmont.cuba.core.entity.BaseIntegerIdEntity; 

import com.haulmont.chile.core.annotations.NamePattern; 

import javax.persistence.FetchType; 

import javax.persistence.JoinColumn; 

import javax.persistence.OneToOne; 


/** 

* @author samuel.thampy 

*/ 

@NamePattern("%s|locationName") 

@Table(name = "WATERSCHEMENIGERIA_SCHEME") 

@Entity(name = "waterschemenigeria$Scheme") 

public class Scheme extends BaseIntegerIdEntity { 

private static final long serialVersionUID = -5886267876250540580L; 


@OneToOne(fetch = FetchType.LAZY) 

@JoinColumn(name = "LOCATION_NAME_ID") 

protected Location locationName; 


@Column(name = "WATERSCHEME", nullable = false) 

protected String waterscheme; 


@Column(name = "CAPACITY") 

protected Double capacity; 


@Column(name = "STATUS", nullable = false) 

protected String status; 


public void setLocationName(Location locationName) { 

this.locationName = locationName; 

} 


public Location getLocationName() { 

return locationName; 

} 



public void setWaterscheme(WaterScheme waterscheme) { 

this.waterscheme = waterscheme == null ? null : waterscheme.getId(); 

} 


public WaterScheme getWaterscheme() { 

return waterscheme == null ? null : WaterScheme.fromId(waterscheme); 

} 


public void setStatus(Status status) { 

this.status = status == null ? null : status.getId(); 

} 


public Status getStatus() { 

return status == null ? null : Status.fromId(status); 

} 



public void setCapacity(Double capacity) { 

this.capacity = capacity; 

} 


public Double getCapacity() { 

return capacity; 

} 
} 

Antwort

3

Sie Datenquelle Feld sollte wie folgt aussehen:

@Inject 
private CollectionDatasource<Schema, Integer> schemasDs; 

Die Scheme Einheit erstreckt BaseIntegerIdEntity, so dass ihr Primärschlüssel Typ Integer ist, nicht UUID.