java - SQL select 语句查看 JPA 存储的两个表中的项目

标签 java mysql database jpa orm

我有一个播放列表,其中存储了 XML 文件中的轨道 ID。我希望能够通过 select 语句查看播放列表中歌曲的所有信息。

我尝试过的很多 select 语句都不成功,所以我不确定我是否以正确的方式进行操作。

我在 JPA 中的实体是这样的:

@NamedQueries( {
@NamedQuery(name = "Playlist.findAll", query = "select o from Playlist o"),
@NamedQuery(name = "Playlist.findByName", query = "select o from Playlist o where o.name=:name"),
})

@Entity
public class Playlist {

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;

private String name, persistentId, libraryPersistentId;
private double playlistId;

@OneToMany(cascade = {CascadeType.ALL})
private List<Song> tracks;

public Playlist(String name, String persistentId, double playlistId, List<Song> tracks, String libraryPersistentId) {
    this.name = name;
    this.persistentId = persistentId;
    this.playlistId = playlistId;
    this.tracks = tracks;
    this.libraryPersistentId = libraryPersistentId;
}

public Playlist() {
}



@NamedQueries( {
@NamedQuery(name = "Song.findAll", query = "select o from Song o"),
@NamedQuery(name = "Song.findByName", query = "select o from Song o where o.name=:name"),
})

@Entity
public class Song {

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int id;

private double songid, year;
private String name, artist, album, genre, persistentId, libraryPersistentId;


public Song(double songid, String name, String artist,
        String album, String genre, double year, String persistentId, String libraryPersistentId) {
    this.songid = songid;
    this.name = name;
    this.artist = artist;
    this.album = album;
    this.genre = genre;
    this.year = year;
    this.persistentId = persistentId;
    this.libraryPersistentId = libraryPersistentId;
}

public Song() {

}

这就是我的表在 mysql 中的样子:

Database

我在想像 SELECT * FROM Song WHERE playlist_id = playlist_song.playlist_id 这样的事情,但这不起作用。有人可以帮忙吗?

最佳答案

当你输入query=",然后按Ctrl+空格键,看是否自动生成sql语句的模板。

关于java - SQL select 语句查看 JPA 存储的两个表中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34241734/

相关文章:

java - OS X Lion 上的 Eclipse Indigo,Java 'source' 悬停不起作用

mysql - 我将如何限制表格行数?

php - laravel 如何从多个表中获取列值?

java - clone() 具有 protected 访问权限 - 公开对象 clone()

java - 在十六进制和 ascii 之间转换时丢失字符

mysql - 我们可以在mysql查询中添加变量名吗?

php - 无法用php保存数据

mysql - 在 MySQL 存储过程中的另一语句中使用一个选择查询中获得的结果

mysql - 在 MySQL 中存储 JSON 有什么负面影响吗?

java - 如何从实体管理器获取 ResultSetMetaData?