0
对于一个项目,我想获得一个LEFT JOIN与标准的工作,但我不“吨得到我想要的东西Hibernate的标准LEFT JOIN
我想这样做:从UserBooks选择左侧的书籍JOIN书籍,.. .. 但我没有得到任何
这是我的时刻了:
@SuppressWarnings("unchecked")
public List<Books> getBooksByTitle(int userID, String Title) {
List<Books> books = null;
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");
SessionFactory factory = cfg.buildSessionFactory();
Session session = factory.openSession();
Transaction tx = session.beginTransaction();
Criteria c = session.createCriteria(UserBooks.class, "userBooks");
c.setFetchMode("userBooks.book", FetchMode.JOIN);
c.createAlias("userBooks.book", "books");
c.setProjection(Projections.property("books")) ;
c.add(Restrictions.eq("userBooks.id", userID));
c.add(Restrictions.like("books.title", "%"+ Title + "%"));
books = c.list();
for (Books allBooks : (List<Books>)books) {
System.out.println(">>>>>" + allBooks.getTitle());
}
tx.rollback();
session.close();
factory.close();
return books;
}
你想加入什么桌子? –