1
2 개 이상의 테이블에서 데이터를 검색 할 엔터티를 만들 수 있습니까?두 테이블의 데이터가있는 엔터티
나는 테이블을 가지고 싶다 :와
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();
모든 테이블을 하나의 테이블에 저장하는 대신 그 이유는 무엇입니까? –
답변 해 주셔서 감사합니다. 그것은 - 모든 사용자가 주소를 가지고 있지 않기 때문입니다. 그래서 두 가지 테이블에 보관하는 것이 좋습니다. – Dan
그렇다면 사용자가 다른 주소 엔터티와 OneToOne 연결을 가지고 있으면 안됩니까? 사용자 엔터티에 직접 주소의 모든 필드를 저장하면 자연 매핑은 필드를 사용자 테이블에 저장하는 것입니다. –