具有来自两个表的数据的实体

时间:2012-03-02 18:23:37

标签: java hibernate entity

我可以创建一个从两个(或更多)表中检索数据的实体吗?

我想有桌子:

user: id, name, password
user_address: idUser, street, city

UserEntity:

int: id
String: name, password, street, city

当只使用一张桌子时,我有:

UserEntity:

@Entity
public class UserEntity {
    @Id
    @GeneratedValue
    @Column(name = "id")
    private int id;

    @Column(name = "user")
    private String user;

    @Column(name = "password")
    private String password;

    //+ getter + setters
}

以及使用代码从DB加载用户的方法:

String queryString = "FROM UserEntity WHERE user = :user AND password = :password";
Query query = session.createQuery(queryString);
query.setString("user", userForm.getUser());
query.setString("password", userForm.getPassword());
UserEntity userEntity = (UserEntity) query.uniqueResult();

1 个答案:

答案 0 :(得分:1)

是。但我会为每个表建议一个java类。 UserAddress然后您想使用连接@JoinColumn注释来指定表连接的列。

如果您不想要两个单独的类,则可以使用ResultTransformer。