Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 4
Регистрация: 05.05.2017
Сообщений: 521

Org.hibernate.MappingException: Could not determine type for: java.util.Collection

14.04.2019, 21:58. Показов 7116. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть две таблицы в бд.
Тикеты
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
@Entity
public class Ticket extends BaseEntity {
 
    private String description;
    private String subject;
    private String customerName;
    private String customerEmail;
    private String groiup;
    private String team;
    private String type;
    private int relies;
    private int expert;
    @ManyToOne(optional=false, cascade= CascadeType.ALL)
    @JoinColumn(name = "user")
    private User user;
 
    public User getUser() { return user; }
 
    public void setUser(User user) { this.user = user; }
 
    public String getDescription() {
        return description;
    }
 
    public void setDescription(String description) {
        this.description = description;
    }
 
    public String getSubject() {
        return subject;
    }
 
    public void setSubject(String subject) {
        this.subject = subject;
    }
 
    public String getCustomerName() {
        return customerName;
    }
 
    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }
 
    public String getCustomerEmail() {
        return customerEmail;
    }
 
    public void setCustomerEmail(String customerEmail) {
        this.customerEmail = customerEmail;
    }
 
    public String getGroiup() {
        return groiup;
    }
 
    public void setGroiup(String groiup) {
        this.groiup = groiup;
    }
 
    public String getTeam() {
        return team;
    }
 
    public void setTeam(String team) {
        this.team = team;
    }
 
    public String getType() {
        return type;
    }
 
    public void setType(String type) {
        this.type = type;
    }
 
    public int getRelies() {
        return relies;
    }
 
    public void setRelies(int relies) {
        this.relies = relies;
    }
 
    public int getExpert() {
        return expert;
    }
 
    public void setExpert(int expert) {
        this.expert = expert;
    }
}
И пользователи
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
@Entity
public class User extends BaseEntity implements UserDetails {
 
    private static final long serialVersionUID = -4309721365940075858L;
 
    private String username;
    private String firstName;
    private String lastName;
    private String email;
    private String password;
    private String roleName;
    @OneToMany(mappedBy="user", cascade = CascadeType.ALL)
    private Collection<Ticket> tickets = new ArrayList<Ticket>();
 
    public Collection<Ticket> getTickets() {
        return tickets;
    }
 
    public void setTickets(Collection<Ticket> tickets) {
        this.tickets = tickets;
    }
 
    public String getRoleName(){ return roleName; }
 
    public void setRoleName(String roleName){ this.roleName = roleName; }
 
    public String getUsername() {
        return username;
    }
 
    public void setUsername(String username) {
        this.username = username;
    }
 
    public String getFirstName() {
        return firstName;
    }
 
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
 
    public String getLastName() {
        return lastName;
    }
 
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
 
    public String getEmail() {
        return email;
    }
 
    public void setEmail(String email) {
        this.email = email;
    }
 
    @Override
    @Transient
    public Collection<? extends GrantedAuthority> getAuthorities() {
        //return Arrays.asList(new SimpleGrantedAuthority("ROLE_ADMIN"));
        return Arrays.asList(new SimpleGrantedAuthority(roleName));
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
 
    @Override
    public String getPassword() {
        return this.password;
    }
 
    @Override
    @Transient
    public boolean isAccountNonExpired() {
        return true;
    }
 
    @Override
    @Transient
    public boolean isAccountNonLocked() {
        return true;
    }
 
    @Override
    @Transient
    public boolean isCredentialsNonExpired() {
        return true;
    }
 
    @Override
    @Transient
    public boolean isEnabled() {
        return true;
    }
 
    @Override
    @Transient
    public boolean equals(Object other){
        if (this == other)
            return true;
 
        if ( !(other instanceof User) )
            return false;
 
        User otherUser = (User) other;
        if(otherUser.username == this.username)
            return true;
        else return false;
    }
}
sql
Java
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE User (
    id BIGINT NOT NULL AUTO_INCREMENT,
    username varchar(45) NOT NULL,
    first_name varchar(45) DEFAULT NULL,
    last_name varchar(45) DEFAULT NULL,
    email varchar(45) DEFAULT NULL,
    password varchar(45) DEFAULT NULL,
    role_name varchar(45) DEFAULT 'ROLE_USER',
    update_date DATETIME,
    create_date DATETIME,
    PRIMARY KEY (id)
) ENGINE=InnoDB;
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TABLE Ticket (
    id BIGINT NOT NULL AUTO_INCREMENT,
    description varchar(255) not null,
    subject varchar(255),
    customer_name varchar(255),
    customer_email varchar(255),
    groiup varchar(255),
    team varchar(255),
    type varchar(255),
    relies int,
    expert BIGINT,
    user BIGINT,
    update_date DATETIME,
    create_date DATETIME,
  PRIMARY KEY(id),
  foreign key(user) references user(id)
) ENGINE=InnoDB;
Hibernate отказывается работать с этими классами. Пишет
Code
1
2
3
4
5
6
7
8
9
10
Caused by: org.hibernate.MappingException: Could not determine type for: java.util.Collection, at table: user, for columns: [org.hibernate.mapping.Column(tickets)]
    at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:349) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
    at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:322) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
    at org.hibernate.mapping.Property.isValid(Property.java:241) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
    at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:496) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
    at org.hibernate.mapping.RootClass.validate(RootClass.java:270) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
    at org.hibernate.cfg.Configuration.validate(Configuration.java:1360) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1851) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:857) ~[hibernate-entitymanager-4.3.11.Final.jar:4.3.11.Final]
    ... 24 common frames omitted
Может быть это из за того что User описывает org.springframework.security.core.userde tails.UserDetails для работы со spring security? В чем проблема?

Добавлено через 14 минут
Ошибка исчезла когда я переместил аннотацию на геттер
Java
1
2
3
4
    @OneToMany(mappedBy="user", cascade = CascadeType.ALL)
    public Collection<Ticket> getTickets() {
        return tickets;
    }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.04.2019, 21:58
Ответы с готовыми решениями:

Hibernate org.hibernate.HibernateException: Wrong column type
В модели было поле weight с типом double. Поменял на Integer и соответственно поменял в БД (postgresql) private Integer weight; ...

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointe
Я пытаюсь добавить запись в таблицы но при этом выбивает ошибку NullPointerException. SEVERE ...

Ошибка при сборке проекта maven (java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.doW)
java.lang.NoSuchMethodError:...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.04.2019, 21:58
Помогаю со студенческими работами здесь

Ненормальный org.hibernate.MappingException в Хибернейте
Всем привет! Кто сталкивался с такой проблемой? Пишу свое маленькое приложение, в качестве бд использую Постгрес, в качестре орма -...

JPA/Hibernate MappingException: Foreign key must have same number
Вот описание ошибки. org.hibernate.MappingException: Foreign key (FK_n9nvapt8aqpregmwepb98hjed:questions )) must have same number of...

Ошибка reference to List is ambiguous; both interface java.util.List in package java.util and class java.awt.List in...
Почему кгда я загружаю пакеты awt, utill вместе в одной проге при обьявлении елемента List я ловлю такую ошибку. 'listTest.java':...

Java.util.concurrent.* или java.util.Stream
Как добавить библиотеку java.util.concurrent или java.util.Stream? Прошу, пожалуйста, помочь. import java.util.concurrent.locks.*; ...

Hibernate Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister
Доброго времени суток. Сталкиваюсь со всякими ошибками при добавлении данных в свою mysql бд. Вот код ошибки Exception in thread...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru