Seguinte, tenho a query dos create table, porém quero fazer o hibernate gerar ela pra mim, ou seja, criando os beans.
Query:
CREATE TABLE users (
username VARCHAR(50) NOT NULL PRIMARY KEY,
password VARCHAR(50) NOT NULL,
enabled BIT NOT NULL
);
CREATE TABLE authorities (
username VARCHAR(50) NOT NULL,
authority VARCHAR(50) NOT NULL
);
CREATE UNIQUE INDEX ix_auth_username ON authorities ( username, authority );
ALTER TABLE authorities ADD CONSTRAINT fk_authorities_users foreign key (username) REFERENCES users(username);
Estou tentando aqui, porém sem sucesso:
@Entity
@Table(name="users")
public class Users implements Serializable{
private static final long serialVersionUID = 1L;
private String username;
private String password;
private Boolean enabled;
private Authorities auth;
@OneToOne(mappedBy="user")
public Authorities getAuth() {
return auth;
}
public void setAuth(Authorities auth) {
this.auth = auth;
}
@Id
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Boolean getEnabled() {
return enabled;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
}
@Entity
@Table(name="authorities")
public class Authorities implements Serializable{
private static final long serialVersionUID = 1L;
private AuthoritiesPK pk;
@EmbeddedId
public AuthoritiesPK getPk() {
return pk;
}
public void setPk(AuthoritiesPK pk) {
this.pk = pk;
}
}
@Embeddable
public class AuthoritiesPK implements Serializable{
private static final long serialVersionUID = 1L;
private Users user;
private String authority;
@OneToOne
@JoinColumn(name="username")
public Users getUser() {
return user;
}
public void setUser(Users user) {
this.user = user;
}
public String getAuthority() {
return authority;
}
public void setAuthority(String authority) {
this.authority = authority;
}
}
Se alguém puder me da uma luz, vlw.
