Witam serdecznie wszystkich.
Mam problem z aplikacją Webową. Mianowicie mam następujące wywołanie query:
List<Trasa> trasy = null;
trasy = manager.createNamedQuery("selectTrasy")
.setParameter("raportId", propertyWydatek.getRaport().getId())
.getResultList();
Encje wyglądają następująco:
@NamedQuery(name = "selectTrasy",
query = "SELECT t FROM Trasa t WHERE t.raport.id = :raportId ORDER BY t.id")
@Entity
public class Trasa implements Serializable {
@Id
@Column(name = "id", unique = true )
@GeneratedValue
private Long id;
@Column(name = "data_z")
private Date dataz;
@Column(name = "data_do")
private Date datado;
@Column(name = "czas_z")
private String czasZ;
@Column(name = "czas_do")
private String czasDo;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "miejscowosc_z")
private MiejscowoscDB miejscowoscZ;
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "miejscowosc_do")
private MiejscowoscDB miejscowoscDo;
@OneToOne(fetch = FetchType.LAZY)
private Uzytkownik user;
@OneToOne(fetch = FetchType.LAZY)
private Raport raport;
//gettery i settery
}
@Entity
public class Raport implements Serializable {
@Id
@Column(name = "id", unique = true )
@GeneratedValue
private Long id;
@Column(name = "data")
private Date data;
@Column(name = "nazwa")
private String nazwa;
@Enumerated(EnumType.STRING)
private Powod powod;
@OneToOne(fetch = FetchType.EAGER)
private Uzytkownik uzytkownik;
//gettery i settery
}
To co zwraca Hibernate w trybie debug to:
select trasa0_.id as id1_2_, trasa0_.czas_do as czas_do2_2_, trasa0_.czas_z as czas_z3_2_, trasa0_.data_do as data_do4_2_, trasa0_.data_z as data_z5_2_, trasa0_.miejscowosc_do as miejscow6_2_, trasa0_.miejscowosc_z as miejscow7_2_, trasa0_.raport_id as raport_i8_2_, trasa0_.user_id as user_id9_2_ from Trasa trasa0_ where trasa0_.raport_id=? order by trasa0_.id
12:33:56,031 TRACE BasicBinder:81 - binding parameter [1] as [BIGINT] - [23]
Jak widać wartość zbindowana id to 23. Kiedy wstawię to zapytanie do narzędzia od bazy danych z podaną wartością raport_id=23, to query zwraca mi rekord, natomiast w aplikacji w wywołaniu funkcji, którą podałem na początku postu, lista jest pusta.