0
我有兩個表hesk_users
,user
如下。如何在Spring中使用Hibernate在子查詢中從一對一關係中獲取數據
@Entity @Table(名稱= 「hesk_users」) 公共類UserHesk {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column
private int id;
@OneToOne
@JoinColumn(name="user_id")
private User user;
set.... get..
}
@Entity @Table(名稱= 「用戶」) 公共類用戶實施序列化{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@NotEmpty
@Column
private String firstname;
@OneToOne(mappedBy="user")
private UserHesk userHesk;
set ... get ...
}
我有Hibernate查詢,但它不工作..
DetachedCriteria detachedCriteria=DetachedCriteria.forClass(UserHesk.class)
.setProjection(Projections.property("user_id"));
Criteria criteria=sessionFactory.getCurrentSession().createCriteria(User.class);
criteria.add(Property.forName("id").notIn(detachedCriteria));
User user=(User)criteria.list().get(0);
System.out.println(user.getFirstname());
System.out.println("Subquery Size "+criteria.list().size());
誤差user_id
申請。由於關係而無法獲得。
我不會對正在使用OneToOne關係產生colunm USER_ID標準。我沒有設置並獲取userId柱子的方法。 – 2013-03-08 05:52:46