私は単純なクラスを持っています:
class Song {
@Id
@GeneratedValue(generator="increment")
@GenericGenerator(name="increment", strategy = "increment")
private long id;
private String composition;
private String performer;
private String version;
private int length; // Length in seconds
private int rating; // Rating
@OneToMany(fetch = FetchType.LAZY, cascade = {CascadeType.ALL})
private Set<Source> sources;
...
}
H2 データベースにいくつかのレコードを永続化します。問題なくすべてのレコードのリストを取得できます(カウントも取得できます)が、「where」句を使用してクエリを実行すると、常に空のリストが取得されます。これは私が試したクエリです:
List<Song> result = (List<Song>) entityManager.createQuery("FROM Song WHERE performer = "artist").getResultList();
私は運なしで次のバージョンのクエリを試しました:
"SELECT s FROM Song s WHERE s.performer = 'artist'"
"FROM Song WHERE str(performer) like 'artist'"
この問題は私を夢中にさせています。何かが足りない気がします。