Foros de discusión
автоинкремент для servisebuilder
ild i, modificado hace 10 años.
автоинкремент для servisebuilder
Regular Member Mensajes: 158 Fecha de incorporación: 12/12/11 Mensajes recientes<column name="itemId" type="long" primary="true" />
<column name="resourcePrimKey" type="long" id-type="increment" />
Вопрос такой, как можно столбец resourcePrimKey сделать независимо увиличиваемый на 1 от предыдущой записи?
long increment = counterLocalService.increment(DepartmentList.class.getName());
DepartmentList departmentList = departmentListPersistence.create(increment);
System.out.println(resourceLocalService.getLatestResourceId()+"===="+departmentList.getResourcePrimKey());
departmentList.setResourcePrimKey(resourceLocalService.getLatestResourceId()+1);
System.out.println(resourceLocalService.getLatestResourceId()+"===="+departmentList.getResourcePrimKey());
Alexey Melnikov, modificado hace 10 años.
RE: автоинкремент для servisebuilder
Regular Member Mensajes: 108 Fecha de incorporación: 27/03/12 Mensajes recientes
Не совсем понял для чего это нужно и как будет использоваться.
Но если необходим независимый счетчик, то решение в лоб сделать еще один счетчик:
Здесь имя всего-лишь строка счетчика, какой-то особой привязки к имени класса не существует.
DepartmentList.class.getName() используется больше для того если будет менятся описание сущности (например имя класса), то чтобы поймать ошибку компиляции.
Но если необходим независимый счетчик, то решение в лоб сделать еще один счетчик:
long increment2 = counterLocalService.increment(DepartmentList.class.getName() + ".resourcePrimKey");
Здесь имя всего-лишь строка счетчика, какой-то особой привязки к имени класса не существует.
DepartmentList.class.getName() используется больше для того если будет менятся описание сущности (например имя класса), то чтобы поймать ошибку компиляции.
d ll, modificado hace 10 años.
RE: автоинкремент для servisebuilder
Regular Member Mensajes: 158 Fecha de incorporación: 12/12/11 Mensajes recientes
не совсем то, счетчик же будет скакать на 100 после билда, нужно строго +1
Alexey Melnikov, modificado hace 10 años.
RE: автоинкремент для servisebuilder
Regular Member Mensajes: 108 Fecha de incorporación: 27/03/12 Mensajes recientesd ll:
не совсем то, счетчик же будет скакать на 100 после билда, нужно строго +1
По умолчанию шаг +1, смотрите как работает com.liferay.counter.service.persistence.CounterFinderImpl.increment(String)
d ll, modificado hace 10 años.
RE: автоинкремент для servisebuilder
Regular Member Mensajes: 158 Fecha de incorporación: 12/12/11 Mensajes recientes
я проверил, идет +1. Допустим, дошел до 277, после Build Service, начинает с 301
Alexey Melnikov, modificado hace 10 años.
RE: автоинкремент для servisebuilder
Regular Member Mensajes: 108 Fecha de incorporación: 27/03/12 Mensajes recientes
Есть подозрение, что у вас где-то старые классы могли затесаться в сервисе.
Попробуйте полностью очистить классы и перегенировать их.
То что счетчик после редеплоя начинается с новой сотни, 2 варианта мне кажется: старый код или такое поведение у liferay сделано (хотя я такого в коде не нахожу).
Попробуйте полностью очистить классы и перегенировать их.
То что счетчик после редеплоя начинается с новой сотни, 2 варианта мне кажется: старый код или такое поведение у liferay сделано (хотя я такого в коде не нахожу).
Kairzhan Turmagambetov, modificado hace 10 años.
RE: автоинкремент для servisebuilder
New Member Mensajes: 5 Fecha de incorporación: 29/03/12 Mensajes recientes
Ответ на проблему https://www.liferay.com/community/forums/-/message_boards/message/10770835
#
# Set the number of increments between database updates to the Counter
# table. Set this value to a higher number for better performance.
#
counter.increment=100