açık bağımlılık olmadan işlemleri yönetin Scalikejdbc bir doküman istiyorum anladığım kadarıyla bir işlem yapmak istiyorum. Şunun gibi:Scalikejdbc. Scalikejdbc ve oturum
class FooBarService {
val fooDao = new FooDao
val barDao = new BarDao
def fooBar(): Unit = {
DB localTx { session =>
fooDao.foo(new Foo())
barDao.bar(new Bar())
}
}
}
class FooDao {
def foo(foo: Foo)(implicit session: DBSession): Unit = {
sql"""bla bla bla"""
}
}
class BarDao {
def bar(bar: Bar)(implicit session: DBSession): Unit = {
sql"""bla bla bla"""
}
}
Ve o şey Scalikejdbc üzerinde beni açıkça bağımlı hale getirir. Alan özelliklerinde Scalike'a bağımlı kalmak istemiyorum.
class FooBarService {
val fooDao = new FooDao
val barDao = new BarDao
def fooBar(): Unit = {
// My wrapper which abstract and is not dependent on Scalike or other library
MyWrapper.withinTransaction {
fooDao.foo(new Foo())
barDao.bar(new Bar())
}
// or at least not to pass session to daos
DB withinTransaction {
fooDao.foo(new Foo())
barDao.bar(new Bar())
}
}
}
class FooDao {
def foo(foo: Foo): Unit = {
sql"""bla bla bla"""
}
}
class BarDao {
def bar(bar: Bar): Unit = {
sql"""bla bla bla"""
}
}
işlemleri yapmak ve sınıf imza oturum sayısına ve scalike üzerinde bağımlılıkları yok bir yolu var mı: Böyle bir şey İstediğim nedir?
Hiç bir çözüm bulmak mı? – jen
@jen no. Slick’e geçtik. Scalikejdbc ve işlemleri beni rahatsız etti çünkü yöntemlerimin imzalarına üçüncü taraf bağımlılığı eklemek istemedim. Slick'in biraz benzer sorunları var (eğer bunları işlem içinde birleştirmek istiyorsak DBIOAction'ı açığa çıkarmalıyız), ama şimdi bunun bir problem olmadığını düşünüyorum. –