powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / получаю непонятный эксепшен...
6 сообщений из 6, страница 1 из 1
получаю непонятный эксепшен...
    #39093154
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем привет!
ребята, помогите решит данную проблему.
имеется entity класс Product:
Код: 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.
@Entity
@NamedQueries({ @NamedQuery(name = "Product.findAll", query = "select o from Product o") })
@Table(name = ""product"")
public class Product implements Serializable {
    private static final long serialVersionUID = 692860634577894848L;
    @Id
    @Column(name = "idProduct", nullable = false)
    private int idProduct;
    @Column(name = "p_name", nullable = false)
    private String p_name;
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name = "idType")
    private Type type;
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name = "idManufacturer")
    private Manufacturer manufacturer;
    @ManyToOne(fetch=FetchType.LAZY)
    private Users users;
 
    public Product() {
    }
 
    public Product(Manufacturer manufacturer, int idProduct, Type type, String p_name,Users users) {
        this.manufacturer = manufacturer;
        this.idProduct = idProduct;
        this.type = type;
        this.p_name = p_name;
        this.users = users;
    }
 
 
    public int getIdProduct() {
        return idProduct;
    }
 
    public void setIdProduct(int idProduct) {
        this.idProduct = idProduct;
    }
 
 
    public String getP_name() {
        return p_name;
    }
 
    public void setP_name(String p_name) {
        this.p_name = p_name;
    }
 
    public Type getType() {
        return type;
    }
 
    public void setType(Type type) {
        this.type = type;
    }
 
    public Manufacturer getManufacturer() {
        return manufacturer;
    }
 
    public void setManufacturer(Manufacturer manufacturer) {
        this.manufacturer = manufacturer;
    }
 
    public Users getUsers() {
        return users;
    }
 
    public void setUsers(Users users) {
        this.users = users;
    }
}



на первый взгляд все правильно, но при вызове:
Код: java
1.
2.
3.
4.
5.
6.
....
List<Product> product = sel.getProductFindAll();
for (int i = 0; i < product.size(); i++) {
    out.println(product.get(i).getP_name());
}
....



получаю вот это:
Код: plaintext
1.
2.
3.
4.
5.
javax.ejb.EJBException: EJB Exception: : javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'USERS_idUsers' in 'field list'
Error Code: 1054
Call: SELECT idProduct, p_name, idManufacturer, idType, USERS_idUsers FROM `product`
Query: ReadAllQuery(name="Product.findAll" referenceClass=Product sql="SELECT idProduct, p_name, idManufacturer, idType, USERS_idUsers FROM `product`")


откуда появился USERS_idUsers ?
...
Рейтинг: 0 / 0
получаю непонятный эксепшен...
    #39093169
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффароткуда появился USERS_idUsers ?
Отсюда:
Код: java
1.
2.
 @ManyToOne(fetch=FetchType.LAZY)
    private Users users;
...
Рейтинг: 0 / 0
получаю непонятный эксепшен...
    #39093173
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczМузаффароткуда появился USERS_idUsers ?
Отсюда:
Код: java
1.
2.
 @ManyToOne(fetch=FetchType.LAZY)
    private Users users;



а как решается?
...
Рейтинг: 0 / 0
получаю непонятный эксепшен...
    #39093174
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

В документации сказано, что нужен mappedBy или @JoinColumn.
https://docs.oracle.com/javaee/6/api/javax/persistence/ManyToOne.html
В вашем случае скорее всего @JoinColumn, потому что mappedBy требует ссылку user->product, которая не выглядит разумной.
Вообще не понятно почему product<->user не @ManyToMany, но это уже другой вопрос.
...
Рейтинг: 0 / 0
получаю непонятный эксепшен...
    #39093177
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Музаффар,

Фу блин. Совсем запутали меня. Кто надоумил класс называть Users?
...
Рейтинг: 0 / 0
получаю непонятный эксепшен...
    #39093183
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,
огромное спасибо Вам как всегда помогли

проблема решилась как Вы предполагали с помощью
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "idUsers")
private Users users;
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / получаю непонятный эксепшен...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]