Java Hibernate实体-向实体添加业务逻辑?
我有一个实体:Java Hibernate实体-向实体添加业务逻辑?,java,database,hibernate,jpa,entity,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; 并且该实体具有该实体拥有的用户列表属性(用户已注册到term) 我需要直接从entitz计算注册到term的用户数,但我
@Entity(name = "Term")
@Table(name = "extra_term")
public class Term implements Cloneable, Serializable{
此实体具有ID
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
并且该实体具有该实体拥有的用户列表属性(用户已注册到term)
我需要直接从entitz计算注册到term的用户数,但我不想在DB中有一个属性“registeredUsersCount”。这正是它的用途
实体的每个非静态非瞬态属性(字段或方法,取决于访问类型)都被视为持久属性,除非将其注释为@transient
好吧,我想应该是这样的,对吧?@Transient public long getCountOfRegisteredUsers(){返回this.users.size();}是的,因为没有字段,您只需注释getter方法。非常感谢!我想我会在官方文件中读到更多。
@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?)"
}