考虑使用java,struts,hibernate和oracle。如何防止存储在数据库中的重复条目。一种方法是将字段设为唯一。例如我在jsp页面中输入国家“USA”,美国已经可用意味着我该如何防止它。请告诉我。
此致
萨拉
答案 0 :(得分:3)
您应该始终对必须保持唯一的字段设置唯一约束。但是,这会在提交时导致一个神秘的异常。如果您希望更加用户友好,则应在插入之前检查该条目是否已存在(使用查询),并在条目已存在时向用户显示有用且可读的错误消息。
这仍然允许两个并发用户同时检查,然后同时插入,但它大大降低了概率,并且唯一约束确保其中一个提交失败,使数据库保持一致状态。
答案 1 :(得分:0)
查询您的数据库是否已包含 USA 。如果是,则不要存储它。如果没有,那就去做。
答案 2 :(得分:0)
在国家/地区列的数据库表中添加唯一索引。
此外,您可以使用@Column(unique=true)
注释hibernate对象的country属性。