Класс org.hibernate.mapping.OneToMany не может быть приведен к классу org.hibernate.mapping.ToOne находится в безымянномJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Класс org.hibernate.mapping.OneToMany не может быть приведен к классу org.hibernate.mapping.ToOne находится в безымянном

Сообщение Anonymous »

Пользователь.java

Код: Выделить всё

package com.cineclubs.app.models;

import jakarta.persistence.*;

import java.time.LocalDateTime;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;

@Entity
@Table(name = "users")

public class User {
@Id
private String userId;

@Column(nullable = false)
private String email;

private String firstName;
private String lastName;
private String imageUrl;

@Column(nullable = false)
private String username;

@Column(name = "created_at")
private java.time.LocalDateTime createdAt = LocalDateTime.now();

@Column(name = "updated_at")
private java.time.LocalDateTime updatedAt = LocalDateTime.now();

@ManyToMany(fetch = FetchType.LAZY,
cascade = {
CascadeType.PERSIST,
CascadeType.MERGE
},
mappedBy = "members")
private Set joinedClubs = new HashSet();

@OneToMany(mappedBy = "author", cascade = { CascadeType.PERSIST, CascadeType.MERGE }, orphanRemoval = true)
private Set
 posts = new HashSet();

@OneToMany(mappedBy = "author", cascade = { CascadeType.PERSIST, CascadeType.MERGE }, orphanRemoval = true)
private Set comments = new HashSet();

@ManyToMany(mappedBy = "likes", cascade = { CascadeType.PERSIST, CascadeType.MERGE })
private Set likedPosts = new HashSet();

@ManyToMany(mappedBy = "likes", cascade = { CascadeType.PERSIST, CascadeType.MERGE })
private Set likedComments = new HashSet();

public User() {
}

public User(String userId, String email, String firstName, String lastName, String imageUrl, String username,
LocalDateTime createdAt, LocalDateTime updatedAt, Set posts, Set comments,
Set likedPosts, Set likedComments) {
this.userId = userId;
this.email = email;
this.firstName = firstName;
this.lastName = lastName;
this.imageUrl = imageUrl;
this.username = username;
this.createdAt = createdAt;
this.updatedAt = updatedAt;
this.posts = posts;
this.comments = comments;
this.likedPosts = likedPosts;
this.likedComments = likedComments;
}
}

Club.java

Код: Выделить всё

@Entity
@Table(name = "clubs")
public class Club {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false)
private String name;

@Column(nullable = false)
private String description;

@Column(nullable = false)
private String imageUrl;

@Column(name = "is_public", nullable = false)
private boolean isPublic;

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

@ManyToOne
@JoinColumn(name = "category_id", nullable = false)
private Category category;

@OneToMany(mappedBy = "club", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
private Set members = new HashSet();

@OneToMany(mappedBy = "club", cascade = CascadeType.ALL, orphanRemoval = true)
private Set
 posts;

@Column(nullable = false, unique = true)
private String slug;

@Column(name = "created_at")
private java.time.LocalDateTime createdAt = LocalDateTime.now();

@Column(name = "updated_at")
private LocalDateTime updatedAt = LocalDateTime.now();

public Club() {
}

public Club(Long id, String name, String description, String imageUrl, User user,
Set members, Set  posts) {
this.id = id;
this.name = name;
this.description = description;
this.imageUrl = imageUrl;
this.user = user;
this.members = members;
this.posts = posts;
}

}
ClubMember.java

Код: Выделить всё

@Entity
@Table(name = "club_members")
public class ClubMember {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@ManyToOne
@JoinColumn(name = "user_id", nullable = false)
private User user;

@ManyToOne
@JoinColumn(name = "club_id", nullable = false)
private Club club;

private MemberStatus status = MemberStatus.PENDING;

@Enumerated(EnumType.STRING)
private ClubRole role = ClubRole.MEMBER;

@Column(name = "joined_at")
private java.time.LocalDateTime joinedAt;

@Column(name = "created_at")
private java.time.LocalDateTime createdAt = LocalDateTime.now();

@Column(name = "updated_at")
private java.time.LocalDateTime updatedAt = LocalDateTime.now();

public ClubMember() {
}

public ClubMember(Long id, User user, Club club, MemberStatus status, ClubRole role) {
this.id = id;
this.user = user;
this.club = club;
this.status = status;
this.role = role;
}
}
Я пытался создать таблицу объединения между клубом и пользователем, я создал таблицу ClubMember. миграции прошли успешно, я получил таблицы, созданные в базе данных, но когда я запускаю проект Spring, я получил ошибку

class org.hibernate.mapping.OneToMany не может быть преобразованы в класс org.hibernate.mapping.ToOne находятся в безымянном модуле загрузчика 'app'


Подробнее здесь: https://stackoverflow.com/questions/792 ... rnate-mapp
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»