Я изучаю данные весны jpa, и у меня есть две таблицы с именами TBL_PLAYER
и TBL_TEAM
. Также обратите внимание, что это уже существующие таблицы в базе данных. Что я хочу, чтобы получить данные игроков детали текущих команд. Я могу успешно добиться этого, используя следующий собственный запрос.
SELECT TBL_PLAYER.ID,
TBL_PLAYER.NAME,
TBL_PLAYER.AGE,
TBL_PLAYER.TEAM_ID,
TBL_PLAYER.INCOME,
FROM TBL_PLAYER, TBL_TEAM
WHERE (TBL_PLAYER.TEAM_ID = TBL_TEAM.TEAM_ID)
А вот текущее представление таблиц данных
TBL_PLAYER
| ID | NAME | AGE | TEAM_ID | INCOME |
1 John 23 1 1000
2 Ann 24 2 3000
3 Sam 45 5 9000
4 Nick 18 1 5000
TBL_TEAM
| TEAM_ID | WINS |
1 10
5 60
Пожалуйста, также найдите мои java фрагменты кода.
@Entity
@Table(name = "TBL_PLAYER")
public class Player {
@Id
@Column(name = "ID")
private long id;
@Column(name = "NAME")
private int name;
@Column(name = "AGE")
private int age;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "TEAM_ID")
private Team teamId;
@Column(name = "INCOME")
private int income;
//setter and getters
}
@Entity
@Table(name = "TBL_TEAM")
public class Team {
@Id
@Column(name = "TEAM_ID")
private int teamId;
@Column(name = "WINS")
private int wins;
//setter and getters
}
@Repository
public interface PlayerRepository extends PagingAndSortingRepository<Player, Long> {
}
Когда я использую repository.findAll()
it дает мне javax.persistence.EntityNotFoundException
. Затем я попытался с FetchType.LAZY
, и он вернул все строки данных, что не то, что я ищу.
Что я делаю не так или это то, что я пробую возможную вещь в данных весной jpa .
Любая помощь будет благодарна ..