兩個實體:Customer:AppUser =1:njava
//Package name... //Imports... @Entity @Table(name = "CUSTOMER") //Override the default Hibernation delete and set the deleted flag rather than deleting the record from the db. @SQLDelete(sql="UPDATE customer SET deleted = '1' WHERE id = ?") //Filter added to retrieve only records that have not been soft deleted. @Where(clause="deleted <> '1'") public class Customer implements java.io.Serializable { private long id; private Billing billing; private String name; private String address; private String zipCode; private String city; private String state; private String notes; private char enabled; private char deleted; private Set appUsers = new HashSet(0); //Constructors... //Getters and Setters... @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "customer") //Filter added to retrieve only records that have not been soft deleted. @Where(clause="deleted <> '1'") public Set getAppUsers() { return this.appUsers; } public void setAppUsers(Set appUsers) { this.appUsers = appUsers; } }
//Package name... //Imports... @Entity @Table(name = "APP_USER") //Override the default Hibernation delete and set the deleted flag rather than deleting the record from the db. @SQLDelete(sql="UPDATE app_user SET deleted = '1' WHERE id = ?") //Filter added to retrieve only records that have not been soft deleted. @Where(clause="deleted <> '1'") public class AppUser implements java.io.Serializable { private long id; private Customer customer; private AppRole appRole; private char enabled; private String username; private String appPassword; private Date expirationDate; private String firstName; private String lastName; private String email; private String phone; private String fax; private char deleted; private Set persons = new HashSet(0); //Constructors... //Getters and Setters... }
只需配置:@Where(clause="deleted <> '1'")便可sql
另外在執行刪除的時候 寫上 app
@SQLDelete(sql語句)ide
@SQLDelete(sql="update book set enableflag='false' where id = ?")fetch