我可以创建一个从两个(或更多)表中检索数据的实体吗?
我想有桌子:
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();
答案 0 :(得分:1)
是。但我会为每个表建议一个java类。 User
和Address
然后您想使用连接@JoinColumn
注释来指定表连接的列。
如果您不想要两个单独的类,则可以使用ResultTransformer。