Hibernate实体 - 向实体添加业务逻辑?

时间:2013-06-19 19:48:58

标签: java database hibernate jpa entity

我有实体:

@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?)"
}

我需要直接从权利中计算注册到期限的用户数量,但我不想在数据库中使用“registeredUsersCount”属性。

1 个答案:

答案 0 :(得分:2)

这正是@Transient的用途。

  

实体的每个非静态非瞬态属性(字段或方法,具体取决于访问类型)都被视为持久性,除非您将其注释为@Transient。