我有一個複合主鍵複合主鍵,
public class MainPk{
private int keyOne;
private int keyTwo;
// getters and setters
}
我在這兩個值中搜索
select * from ..... where keyOne = ? and KeyTwo = ?
查詢但只設置KeyOne搜索只能由其中一人有無論如何只搜索一個?我知道我可以使用標準或查詢,我問是否可以用這種方式
我有一個複合主鍵複合主鍵,
public class MainPk{
private int keyOne;
private int keyTwo;
// getters and setters
}
我在這兩個值中搜索
select * from ..... where keyOne = ? and KeyTwo = ?
查詢但只設置KeyOne搜索只能由其中一人有無論如何只搜索一個?我知道我可以使用標準或查詢,我問是否可以用這種方式
問題是你可能做類似如下:
MainPk id = new MainPk();
id.setKeyOne(someValue);
List<YourEntity> results = session
.createQuery("FROM YourEntity e WHERE e.id = :id")
.setParameter("id", id)
.getResultList();
你可以重建你的查詢,並完成你被明確只顧什麼查詢您擁有的合成編號的單個值。 Hibernate不知道是否將你的空值轉換成文字爲null
或者它應該忽略它。
List<YourEntity> results = session
.createQuery("FROM YourEntity e WHERE e.id.keyOne = :keyOne")
.setParameter("keyOne", someValue)
.getResultList();
您可以搜索任何屬性。你爲什麼不使用Criteria和Restriction類?它們允許您根據任何屬性輕鬆查詢。檢查休眠的文件:
https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.html
也許寫一個新的查詢嗎? – bradimus
您使用自己寫的自定義查詢嗎? – ByeBye