我有这个db模式:
Table_A [1] - > [n] Table_C和Table_B [1] - > [n] Table_C
现在,Table_C的PrimaryKey是具有外键的EmbeddedId,而Table_A和外键与Table_B相比.我如何注意这个注释?
我的解决方案是:
@Entity
public class TableA{
@Id @column(name="ID")
public int id;
@OneToMany(mappedBy="tableA")
public List<TableC> listOftableC;
}
@Entity
public class TableB{
@Id @column(name="ID")
public String id;
@OneToMany(mappedBy="tableB")
public List<TableC> listOftableC;
}
@Entity
public class TableC{
@EmbeddedId
public TableCPK idComposite;
}
@Embeddable
public class TableCPK{
@ManyToOne
@JoinColumn(name = "ID_TABLE_A", referencedColumnName="ID")
public TableA tableA;
@ManyToOne
@JoinColumn(name = "ID_TABLE_B", referencedColumnName="ID")
public TableA tableB;
}
Run Code Online (Sandbox Code Playgroud) 我有一个A类型的对象列表,我必须为A的字段订购它,它的类型为String.
public class A{
public String field1;
public Integer field2;
...
}
Run Code Online (Sandbox Code Playgroud)
如果我必须为int字段订购,那么就是这样做的:
Collections.sort(listOfA, new Comparator<A>() {
public int compare(A p1, A p2) {
return p1.field2 - p2.field2);
}
});
Run Code Online (Sandbox Code Playgroud)
但遗憾的是需要按String类型的字段排序.
我怎样才能做到这一点?
我有以下问题:从一个按钮调用一个java方法,这个方法将在同一页面中具有inputText的当前值,你可以这样做吗?