1

我有一个简单的课程:

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'"

这个问题快把我逼疯了。我觉得我错过了什么。

4

1 回答 1

0

它区分大小写,你确定 db 有 'artist' 作为没有尾随空格或任何东西的值吗?

于 2013-08-21T19:47:47.780 回答