4

私は何年も iBATIS を使用してきましたが、とても満足しています。iBATIS は、オブジェクト/データベースとの間でデータをマッピングするという日常的な作業を処理しながら、独自の SQL を作成できる点で非常に優れています。iBATIS と同じタイプのマッピングを行う Scala 固有のライブラリが欲しいです。Scala固有のツールは

  • オブジェクトが Java Bean である必要はありません (つまり、ゲッターとセッター)
  • null 値の代わりに Option を使用する
  • これだけだと思いますが、他にもあるかもしれません

Web で Java と Scala の ORM について話しているものをたくさん見てきましたが、Scala の iBATIS のようなものは見たことがありません。

Scalaでこのようなツールを知っている人はいますか?

4

5 に答える 5

6

時が変わった。現在、Scalaにはるかに慣用的なMyBatisScalaプロジェクトがあります。

http://mybatis.github.io/scala/

私はそれを評価しましたが、他のどのORMまたはScala指向の永続化ライブラリよりもはるかに面倒ではないように見えました。

プロジェクトページのリンクは現在壊れていますが、GitHubページにアクセスできます: https ://github.com/mybatis/scala

「mybatis-scala-samples」の下にさまざまなサンプルがあります。このDAO/CRUDの例は、特に優れた例です:ItemDAO.scala

于 2012-06-11T14:58:38.773 に答える
3

iBatisを使い続けてみませんか?結局のところ、これは Java です (したがって、Scala から使用できます)。私は今でも Spring JDBC を DAO レイヤーとして使用しています。

scala固有のものについては; 注釈を追加して@BeanPropertyゲッター/セッターを生成し、次に保護するメソッドを宣言できnullます。

@BeanProperty var injectedXyz : String

def xyz : Option[String] = Option(injectedXyz)

確かに、これは素晴らしいことではありません (つまり、追加のボイラープレートが必要です)。しかし、広く使用されているscala DAOレイヤー(SQL用)のように見えるものは見たことがありません

于 2011-02-24T20:46:40.373 に答える
2

Scala の Web サイト (www.scala-lang.org/node/6539) では、nilskp が orbroker (http://code.google.com/p/orbroker/) を推奨しています。これは、Scala 用にネイティブに記述されているためです。

于 2011-02-24T21:31:50.360 に答える
1

私が ORM を選ぶとしたら、Squeryl (http://squeryl.org/) を調べます。Lift Mapper を試してみたところ、Lift Webkit とうまく連携しましたが、統合するには少し手間がかかり、気に入らないデザインの選択肢がいくつかあります。

于 2011-02-24T22:35:19.010 に答える
0

ScalikeJDBC を好むかもしれません。それを見てください。

https://github.com/seratch/scalikejdbc

ソースコードジェネレーターも搭載。特に、既存のレガシー データベースにアクセスする場合は、非常に便利です。

https://github.com/seratch/scalikejdbc-mapper-generator

于 2012-05-25T01:31:56.557 に答える