Добрый день! Установил новый нетбинс, нашел там интересную "кнопку" которая генерирует java entity по указанной БД ... и проставляет все аннотации. Можете сказать правильно ли он их проставил ?) вот к примеру таблица Users: | Код | @Entity @Table(name = "users", catalog = "st", schema = "", uniqueConstraints = { @UniqueConstraint(columnNames = {"id"}), @UniqueConstraint(columnNames = {"login"})}) @XmlRootElement @NamedQueries({ @NamedQuery(name = "Users.findAll", query = "SELECT u FROM Users u"), @NamedQuery(name = "Users.findById", query = "SELECT u FROM Users u WHERE u.id = :id"), @NamedQuery(name = "Users.findByLogin", query = "SELECT u FROM Users u WHERE u.login = :login"), @NamedQuery(name = "Users.findByPassword", query = "SELECT u FROM Users u WHERE u.password = :password"), @NamedQuery(name = "Users.findByIdRole", query = "SELECT u FROM Users u WHERE u.idRole = :idRole"), @NamedQuery(name = "Users.findByIdGroup", query = "SELECT u FROM Users u WHERE u.idGroup = :idGroup"), @NamedQuery(name = "Users.findByIdSpecialty", query = "SELECT u FROM Users u WHERE u.idSpecialty = :idSpecialty"), @NamedQuery(name = "Users.findByIdChair", query = "SELECT u FROM Users u WHERE u.idChair = :idChair"), @NamedQuery(name = "Users.findByIdFaculty", query = "SELECT u FROM Users u WHERE u.idFaculty = :idFaculty"), @NamedQuery(name = "Users.findByBirthday", query = "SELECT u FROM Users u WHERE u.birthday = :birthday"), @NamedQuery(name = "Users.findByIdCountry", query = "SELECT u FROM Users u WHERE u.idCountry = :idCountry"), @NamedQuery(name = "Users.findByIdCity", query = "SELECT u FROM Users u WHERE u.idCity = :idCity"), @NamedQuery(name = "Users.findByEmail", query = "SELECT u FROM Users u WHERE u.email = :email"), @NamedQuery(name = "Users.findBySurname", query = "SELECT u FROM Users u WHERE u.surname = :surname"), @NamedQuery(name = "Users.findByName", query = "SELECT u FROM Users u WHERE u.name = :name")}) public class Users implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "id", nullable = false) private Integer id; @Column(name = "login", length = 45) private String login; @Column(name = "password", length = 40) private String password; @Column(name = "idRole") private Integer idRole; @Column(name = "idGroup") private Integer idGroup; @Column(name = "idSpecialty") private Integer idSpecialty; @Column(name = "idChair") private Integer idChair; @Column(name = "idFaculty") private Integer idFaculty; @Column(name = "birthday") @Temporal(TemporalType.TIMESTAMP) private Date birthday; @Column(name = "idCountry") private Integer idCountry; @Column(name = "idCity") private Integer idCity; @Column(name = "email", length = 45) private String email; @Column(name = "surname", length = 45) private String surname; @Column(name = "name", length = 45) private String name;
public Users() { }
public Users(Integer id) { this.id = id; }
public Integer getId() { return id; }
public void setId(Integer id) { this.id = id; }
public String getLogin() { return login; }
public void setLogin(String login) { this.login = login; }
public String getPassword() { return password; }
public void setPassword(String password) { this.password = password; }
public Integer getIdRole() { return idRole; }
public void setIdRole(Integer idRole) { this.idRole = idRole; }
public Integer getIdGroup() { return idGroup; }
public void setIdGroup(Integer idGroup) { this.idGroup = idGroup; }
public Integer getIdSpecialty() { return idSpecialty; }
public void setIdSpecialty(Integer idSpecialty) { this.idSpecialty = idSpecialty; }
public Integer getIdChair() { return idChair; }
public void setIdChair(Integer idChair) { this.idChair = idChair; }
public Integer getIdFaculty() { return idFaculty; }
public void setIdFaculty(Integer idFaculty) { this.idFaculty = idFaculty; }
public Date getBirthday() { return birthday; }
public void setBirthday(Date birthday) { this.birthday = birthday; }
public Integer getIdCountry() { return idCountry; }
public void setIdCountry(Integer idCountry) { this.idCountry = idCountry; }
public Integer getIdCity() { return idCity; }
public void setIdCity(Integer idCity) { this.idCity = idCity; }
public String getEmail() { return email; }
public void setEmail(String email) { this.email = email; }
public String getSurname() { return surname; }
public void setSurname(String surname) { this.surname = surname; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
@Override public int hashCode() { int hash = 0; hash += (id != null ? id.hashCode() : 0); return hash; }
@Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Users)) { return false; } Users other = (Users) object; if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) { return false; } return true; }
@Override public String toString() { return "com.myapp.entity.Users[ id=" + id + " ]"; }
}
|
и еще такой вопрос ... вот тут он сразу сгенерировал запросы, но по сути ведь Entity класс этим не должен заниматься, нужно сделать другой такой же класс UsersDAO и в нем уже описывать все эти запросы? или я не прав?
|