首先抱歉,如果我的问题没有很好地制定。
我有一个简单的对象,它被映射到相应的表:
@Entity
@Table(name = "USERS")
public class User{
@Id
@Column(name = "USER_ID")
@GeneratedValue
private long userId;
@Column(name = "NAME")
private String name;
//getters and setters...
在我的数据库中,我还有另一张表。此表没有任何关联对象,但它有“USER_ID”列 - 与“USERS”表中的ID相同。
所以问题是,如何使用Hibernate标准从第一个表中选择与第二个表中具有相同USER_ID的所有USER。例如,我有两个userId = 1和= 2的用户。在“USER_ID”列的第二个表中,我只有值“2”。所以我只需要第一个表中的userId = 2的用户。
答案 0 :(得分:0)
您的查询是FOREIGN_KEY关系的经典示例,但正如您所说,您没有其他表的Hibernating映射模型。最好在您的用户映射文件中使用sql-query 在User对象中收集此查询结果。
像这样的东西 < sql-query name =“userwith”> < return alias =“user”class =“User”/> 选择 user.Name AS {user.name} 来自用户 加入另一个__另一个 ON user.ID = another_table.USER_ID < / SQL查询>