2013-06-19 7 views
1

내가 가진 개체 :Hibernate 엔터티 - 엔터티에 비즈니스 로직을 추가 하시겠습니까?

@Entity(name = "Term") 
@Table(name = "extra_term") 
public class Term implements Cloneable, Serializable{ 

이 엔티티 ID

@Id 
@GeneratedValue(strategy=GenerationType.AUTO) 
private Long id; 

을 가지고 있으며,이 엔티티 (사용자가 용어 등록)이 실체가 소유 한 사용자의 목록과 속성을 가지고

@OneToMany(cascade = CascadeType.ALL) 
@JoinTable(name = "etc. etc. etc. })  
private List<TermUser> users = new ArrayList<TermUser>(); 

구체적인 용어로 등록 된이 사용자의 합계를 계산하는 비즈니스 방법을 선언 할 수 있습니까?

public long getUsersCount() { 
    return QUERY TO THE DATABASE "GET COUNT OF USERS REGISTERED TO TERM WITH ID 
    (where ID is the id of this entity?)" 
} 

같은 뭔가 내가 entitz에서 바로 용어 등록 된 사용자의 수를 계산해야하지만 DB의 속성 "registeredUsersCount"가 싶지 않다.

답변

2

정확히 @Transient이 대상입니다.

@Transient로 주석을 추가하지 않는 한 엔티티의 모든 비 정적 비 일시적인 속성 (액세스 유형에 따라 필드 또는 메서드)이 영구적 인 것으로 간주됩니다.

+0

나는 그것을 살펴볼 것이다. –

+0

좋아, 그럼이게 될거야, 그렇지? \t @Transient \t public long getCountOfRegisteredUsers (\t \t return this.users.size(); \t} –

+0

예 필드가 없기 때문에 getter 메소드에 주석을 달아 주면됩니다. –

관련 문제