Учитывая, что вы видите идентификаторы «сотни», вы можете просто увидеть значение приращения по умолчанию для сущностей Liferay:
Из portal.properties :
# Set the number of increments between database updates to the Counter table.
# this value to a higher number for better performance.
# Defaults:
counter.increment=100
Вы можете проверить это поведение, создав 101 объект (где объект # 101 вы получите 700 в качестве идентификатора) или отключив сервер, который вы использовали для создания объекта # 101, и перезапустите его, затем создайте новый объект. : Детализация 100 будет означать, что будут выделены следующие 100 идентификаторов, а затем будет выбрана # 700.
Когда я приду к ** id ** 199, что произойдет, когда я вставлю новую строку?
Это легко узнать ...
Что я могу сделать, чтобы решить проблему?
Подтвердите , что есть проблема. Там может быть не нужно ничего решать
У меня есть машина для разработки. У меня уже есть 100 строк в таблицах людей mysql. Я ввел информацию в таблицу people с помощью SQL-запроса и использовал идентификатор от 300 до 600
Это очень плохая идея, если вы полагаетесь на автоматическое создание идентификатора. Liferay Service Builder не может полагаться на создание идентификатора в базе данных, поскольку каждая база данных ведет себя немного по-другому в этом отношении.
Генерация идентификатора Liferay - когда он следует описанному выше механизму - осуществляется через CounterLocalService . Вы можете позвонить в эту службу, чтобы повысить идентификаторы вашей сущности (используйте имя класса вашей сущности в качестве ключа) на случай, если вы сделаете что-то вручную с вашей базой данных.
Вы не должны никогда изменять любые сущности Liferay в базе данных напрямую. Если у вас есть свои собственные сущности, созданные сервис-билдером, у вас может быть смысл, но я бы порекомендовал выбрать один метод записи / доступа к данным и придерживаться его.