2
我刚刚阅读了关于CRUD
系统的PlayFramework,并决定编写一个简单的例子,只有两个类Group
和User
,并决定很多用户可以在一个组中,但一个用户可以只是在一个组中。所以,我用它ManyToOne
和OneToMany
anotations,请看看下面的代码:PlayFramework:CRUD和排序列表
package models;
import play.db.jpa.Model;
import javax.persistence.Entity;
import javax.persistence.ManyToOne;
/**
* @author sergiizagriichuk
*/
@Entity
public class User extends Model {
public String firstName;
public String lastName;
@ManyToOne
public Group group;
@Override
public String toString() {
return firstName;
}
}
和
package models;
import play.db.jpa.Model;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import java.util.List;
/**
* @author sergiizagriichuk
*/
@Entity
public class Group extends Model {
public String groupName;
public String groupDescription;
@OneToMany
@OrderBy("firstName desc")
public List<User> users;
}
对于排序我试着使用OrderBy
标注,并作为结果什么:(,我有额外的排序模式的用户列表中,但我通过firstName
想秩序,有人能解释我如何使用使用控制器友好的CRUD
模式对列表进行排序? 感谢。
在这种情况下,用户刚刚从编辑窗体中删除的列表,它不是我的解决方案。 –
我不知道我明白它造成了什么问题,但在休眠时,您需要指定关系的所有者..也不确定它是否有所作为,但我总是看到“DESC”(带大写字母) – mericano1
如果列表变空,这是因为您需要在保存之前设置用户组字段。如果不添加“mappedBy”属性,hibernate会生成一个额外的表,因为它不知道“users”和“group”是同一个关系的两端。 – mericano1