我是初次使用Java和Java开发的新手。
我阅读了Hibernate / JPA 2.0文档,我知道在注释中
@OrderColumn
有一个参数name
。
@OrderColumn(name = "name_of_the_column_that_we_would_like_to_order")
我们的收藏。
但是,我已经看到了其他一些名字 - 例如 pos 和 nbr 。我猜这些建议应该按照表格中的位置或数字(nbr)或ID或其他东西来排序,遗憾的是我无法找到确切的答案,只有一些没有数据库示例的例子。
编辑:此外,如果还有其他类似于此 pos 和 nbr 的示例,那么分享它会很不错。我猜是 nbr 和 pos 是一些保留的词,不知何故jpa知道它应该如何接收和订购数据。
EDIT2 :
@Entity
@Table(姓名="问题") 公共课问题{
/**
* serialVersionUID
*/
private static final long serialVersionUID = -7677167590736866885L;
/**
* Content of the question
*/
@Column(nullable = false, length = 255)
@Pattern(regexp = "^(?=\\s*\\S).*$")
private String content;
/**
* Possible answers to the question
*/
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "question_answer", joinColumns = @JoinColumn(name =
"question_id"))
@OrderColumn(name = "nbr")
@Valid
private List<Answer> answers;
/**
* Category of the question
*/
@ManyToOne(optional = true)
@JoinColumn(name = "category_id", nullable = true)
private Category category;
注意这一部分:
/**
* Possible answers to the question
*/
@ElementCollection(fetch = FetchType.EAGER)
@CollectionTable(name = "question_answer", joinColumns = @JoinColumn(name =
"question_id"))
@OrderColumn(name = "nbr")
@Valid
private List<Answer> answers;
但是,在基地中没有名为 nbr 的列。
这里是问题表的图片
这是答案表的图片
category_id
是外键,此问题所属的类别ID。
答案 0 :(得分:0)
@OrderColumn(name="MY_ORDER_COLUMN")
List myList;
将在连接表中创建一个名为MY_ORDER_COLUMN
的排序列(如果通过连接表对List字段进行建模),或者在元素表中创建一个名为@OrderColumn
的排序列。
该名称没有秘密值,只是what you want to call the column! Condition.notifyUnlocked()
将包含元素0,1,2,......等位置的整数值