Witam, mam problem z pobraniem danych z bazy MYSQL. Mam trzy tabele uzytkownik, produkt i koszyk, uzytkownik i produkt posiadają swoje klucz ID, do koszyka dodaje tylko wpis że uzytkownik o takim ID kupił produkt o takim ID i teraz z tej tabeli chce wyciągnąć wszystkie produkty użytkownika o imieniu takim a takim. Teoretycznie nic trudnego jednak EntityManager wyrzuca taki błąd
k - koszyk
p - produkt
u - uzytkownik
[62, 70] The state field path 'p.IdProduktu' cannot be resolved to a valid type.
[73, 82] The state field path 'k.IdProduktu' cannot be resolved to a valid type.
[87, 102] The state field path 'u.IdUzytkownik' cannot be resolved to a valid type.
[105, 121] The state field path 'k.IdUzytkownik' cannot be resolved to a valid type.
select p.nazwa from Produkt p ,Koszyk k ,Uzytkownik u where p.IdProduktu=k.IdProduktu and u.IdUzytkownik = k.IdUzytkownik and u.imie=:imie
@Entity
@Table(name = "Koszyk")
@XmlRootElement
public class Koszyk implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "IdKoszyk")
private Integer IdKoszyk;
@JoinColumn(name = "IdUzytkownik", referencedColumnName = "IdUzytkownik")
@ManyToOne(optional = false)
private Uzytkownik idUzytkownik;
@JoinColumn(name = "IdProduktu", referencedColumnName = "IdProduktu")
@ManyToOne(optional = false)
private Produkt IdProduktu;
.....
@Entity
@Table(name = "Uzytkownik")
@XmlRootElement
public class Uzytkownik implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "IdUzytkownik")
private Integer idUzytkownik;
@Basic(optional = false)
@Column(name = "login")
private String login;
@Basic(optional = false)
@Column(name = "imie")
private String imie;
.....
@Entity
@Table(name = "Produkt")
@XmlRootElement
public class Produkt implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "IdProduktu")
private Integer IdProduktu;
.....
Zdaje sobie sprawe że typy się tutaj nie zgadzają np w IdUzytkownika, w jednym integer w drugim Uzytkownik, jednak klasy te zostały wygenerowane przez netbeansa i jeśli zmienie oba typy na integer to Od razu wyrzuca że jest niezgodne z relacja itp.. Dlatego moje pytanie jak sobie z tym poradzić? może zapytanie źle jest skonstruowane, jednak na samej bazie zapytanie przechodzi a tutaj już nie.