Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Entity manager / 7 сообщений из 7, страница 1 из 1
01.06.2014, 23:41
    #38658172
JongShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity manager
Код: java
1.
2.
3.
4.
		User us = list.get(0);
		us.setClicks(us.getClicks()+1);
		em.merge(us);
		return us;



Помогите, не меняет значение в таблице
вот бин
Код: 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.
package model;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.math.BigInteger;

/**
 * The persistent class for the USERS database table.
 * 
 */
@Entity
@Table(name = "USERS")
@NamedQuery(name = "findUser", query = "SELECT u FROM User u where u.id=:user and u.password=:password")
public class User implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.TABLE)
	private String id;

	private Integer clicks;

	private String password;

	private String sn;

	public User() {
	}

	public String getId() {
		return this.id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public Integer getClicks() {
		return this.clicks;
	}

	public void setClicks(Integer clicks) {
		this.clicks = clicks;
	}

	public String getPassword() {
		return this.password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getSn() {
		return this.sn;
	}

	public void setSn(String sn) {
		this.sn = sn;
	}

	public String toString() {
		return id + " " + sn + " " + password + " " + clicks;
	}

}
...
Рейтинг: 0 / 0
02.06.2014, 01:03
    #38658189
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity manager
JongShin,

Код: java
1.
2.
3.
4.
5.
User us = list.get(0);
us.setClicks(us.getClicks()+1);
em.merge(us);
em.flush();
return us;
...
Рейтинг: 0 / 0
02.06.2014, 10:51
    #38658352
A+
A+
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity manager
JongShin,

Как определил, что не меняет значение в таблице?
Если по return us - так надо было просто вместо em.merge(us) написать us = em.merge(us);
Если реально в БД смотрел - хинт типа "org.hibernate.readOnly" не прописывал Query перед выборкой?
...
Рейтинг: 0 / 0
03.06.2014, 09:07
    #38659556
JongShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity manager
A+,
в sql developer-e посмотрел
...
Рейтинг: 0 / 0
03.06.2014, 09:36
    #38659589
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity manager
А в некоторых JPA провайдерах можно включить dirty tracking. Тогда кроме изменения свойства у загруженой сущности вообще ничего делать не нужно. Только убедиться что коммит будет.
...
Рейтинг: 0 / 0
03.06.2014, 12:52
    #38659929
JongShin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity manager
Blazkowicz,

я использую тут эклипс линк
...
Рейтинг: 0 / 0
03.06.2014, 12:55
    #38659933
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity manager
JongShinBlazkowicz,

я использую тут эклипс линк

http://eclipse.org/eclipselink/documentation/2.4/jpa/extensions/a_changetracking.htm
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Entity manager / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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