2015-06-26 2 views
2

до сих пор мы использовали Play 2.3.9, и теперь мы переходим на Play 2.4.1 Когда я использую старую версию Play, сохраняющую Entity, но с новым verion Id не генерироваться. Я создаю новый проект с нуля и попробовал его реализовать, и в базе данных с автоматической сгенерировкой есть поле идентификатора, которое автоматически увеличивается, а старый проект имеет базу данных, в которой используются последовательности. Я пытаюсь настроить play/ebean на использование последовательностей, но до сих пор не был успешным.Play Framework 2.4 Ebean Id Generation

Я посмотрел здесь http://www.avaje.org/topic-97.html и дал ему попробовать, но он все еще не работает. Мы ценим любые предложения.

Моя конфигурация выглядит следующим образом:

ebean.default.identityGeneration=sequence 
ebean.default.supportsGetGeneratedKeys=false 
ebean.default.supportsSequences=true 
ebean.default.debug.sql=true 

Я также попытался с

ebean.default.identityGeneration=generator 

Я положил линии непосредственно в application.conf я дурачился с ServerConfigStartup способ настройки ebean, но нет удачи.

ответ

5

В любом случае, я получил его на работу, если кто-то имеет такую ​​же проблему следующие исправления она:

public class MyServerConfigStartup implements ServerConfigStartup { 
@Override 
public void onStart(ServerConfig serverConfig) { 
    PostgresPlatform postgresPlatform = new PostgresPlatform(); 
    DbIdentity dbIdentity = postgresPlatform.getDbIdentity(); 
    dbIdentity.setSupportsGetGeneratedKeys(false); 
    dbIdentity.setSupportsSequence(true); 
    dbIdentity.setIdType(IdType.GENERATOR); 
    serverConfig.setDatabasePlatform(postgresPlatform); 
} 

}

+1

Отнесение https://github.com/ebean-orm/avaje- ebeanorm/issues/97 С Ebean версии 4.0.5 на Postgres SERIAL стал стандартным ID-механизмом. Ваше решение выше хорошо - в качестве альтернативы вы можете использовать более старую «платформу»: ebean.databasePlatformName = postgres8 –

 Смежные вопросы

  • Нет связанных вопросов^_^