jakefrog:
Cara, o seu problema é que você esta fazendo relacionamento com um atributo e não com um objeto:@ManyToOne
@JoinColumn
long tbUsuario_id;Na maioria das vezes (todas que eu já vi até hoje) a classe é salva e não um ID.
Aqui tem um exemplo que pode te ajudar: @OneToMany e @ManyToOne Unidirecional e Bidirecional
Iaew jakefrog!!
Cara eu ví o tutorial que você passou, mas ainda perdura uma dúvida =/
Nessa entidade Customer tem um private User user; Que não entendi de onde veio =/ … tipo se vai ser um relacionamento entre a DOGS e a CUSTOMER então pra que esse User? E não achei o código desse User no tutorial para entender melhor.
E na parte no parametro name do JoinColumn está “CUSTOMER_ID”. Essa parte não entendi também. Não deveria estar ai uma primary key da entidade DOGS? =( … to precisando aprender a simplesmente “atrelar” duas tabelas com foreign/primary key. Onde uma tabela poderá conter várias da outra e a outra apenas uma da primeira. Coisa que com sql puro faço de boa, agora com hibernate tá barra em.
Tipo tenho uma entidade CONTATOS e outra USUARIO. Onde USUARIO pode ter vários CONTATOS, e CONTATOS apenas um USUARIO, simples assim. Na tabela CONTATOS terá uma foreign key para USUARIO. E por essa foreign key quero carregar os contatos para diferentes USUARIOS logados no sistema. Ou seja quando o usuário for carregar a lista de contatos o programa irá verificar qual a primary key do USUARIO logado e por essa primary key ele carregará a lista de contatos que terá a primary key de USUARIO como foreign key. Cara, muito obrigado pela a ajuda, e desculpa pelo textão ai, me ajuda por favor!
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="CUSTOMER_ID")
private List dogs;
@Entity
@Table(name = "CUSTOMER")
@SequenceGenerator(name = "CUSTOMER_SEQUENCE", sequenceName = "CUSTOMER_SEQUENCE", allocationSize = 1, initialValue = 0)
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "CUSTOMER_SEQUENCE")
private int id;
@Column
private String name;
@OneToOne(cascade = CascadeType.ALL, optional = true, fetch = FetchType.EAGER, orphanRemoval = true)
@JoinColumn(name="USER_ID", nullable=true)
private User user;
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
@JoinColumn(name="CUSTOMER_ID")
private List dogs;
//Getters and Setters
}