Merhaba arkadaşlar,

User ve Message adında iki tane entity sınıfım var bunlar arasında ilişkiyi nasıl kurabilirim?

User.class

@Entity
@Table(name = "user")
@XmlRootElement
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "userId", unique = true, nullable = false, updatable = false)
    private long userId;
    @Column(name = "userName", unique = true, nullable = false, updatable = false)
    private String userName;
    @Column(name = "userPassword", nullable = false, updatable = true)
    private String userPassword;

    @OneToMany(mappedBy = "user")
    private List<Message> messageList;

Message.class

@Entity
@Table(name = "message")
public class Message {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "messageId")
    private long messageId;
    @Column(name = "userReciveId")
    private long userReciveId;
    @Column(name = "messageText")
    private String messageText;

    @ManyToOne
    @JoinColumn(name = "userId")
    private User user;

Ayrıca Allah aşkına şu mesaj yazdığımz messageBox'ı yöneticiler bir elden geçirsin. Kod kopyalayıp yapıştırıyorum saçma sapan yerleri de kod olarak gösteriyor.

soruldu: 13 May '15, 14:06

sin's gravatar image

sin
700162536
cevap kabul oranı: 13%

değiştirildi: 13 May '15, 15:27

Turgay%20Can's gravatar image

Turgay Can
8.3k63798


marhabalar yapmak istediğin ilişki eğer User --> Message One - to - Many ise doğru olarak tanımlamışssın tabi bide bunlar getter/setter ları olacak.Şuan senin kurduğun ilişkide bir User ın birden fazla mesajı olabilir.Fakat bir message ın sadece birtane sahibi olabilir.Ayrıca burada şeklinde tanımlamalarda yapabilirsiniz.Yada ihticanıza göre bunları istediğiniz şekilde düzenleyebilirsiniz.

@OneToMany(fetch = FetchType.LAZY, mappedBy = "user" ,cascade = CascadeType.ALL)
permanent link

cevaplandı: 14 May '15, 02:42

caglarturkurka's gravatar image

caglarturkurka
6653712
cevap kabul oranı: 6%

cevap için teşekkür ederim üstat. test ederken bir yanlışlık yapıyormuşum dediğiniz gibi yapı doğruymuş. ancak yeni User oluşturup database'e yazdığımda hata veriyor. Hatanın sebebi de sanırım Message'ı görmezden gelememesi(JPA dilinde karşılığını bilmiyorum) bu görmezden gelme işlemini nasıl sağlarım. fetech'i LAzy yapmam yeterli mi?

(15 May '15, 11:18) sin sin's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,076
×144
×86
×40

Soruldu: 13 May '15, 14:06

Görüntüleme: 523 kez

Son güncelleme: 15 May '15, 11:19

powered by BitNami OSQA