为了避免重复(重复)数据,我们必须确保有一个唯一的键,并且该键将由@Id注释。在此示例中, 命名
为self并不是唯一的,这就是为什么结果显示重复数据的原因。 eventDateTime 作为唯一字段是更好的选择。
public class Event { private String name; private String description; @Id private Date eventDateTime; //getter and setter pre}或者,我们可以使用 name 和 eventDateTime 定义一个复合唯一键。
public class CompositeKey implements Serializable { private String name; private Date eventDateTime;}然后,使用@IdClass(CopositeKey.class)注释 事件 类,并使用@Id 注释 name 和
eventDateTime 字段
@IdClass(CopositeKey.class) public class Event { @Id private String name; private String description; @Id private Date eventDateTime; //getter and setter pre }


