These are chat archives for scalikejdbc/ja

13th
Apr 2016
Shunsuke Wada
@letusfly85
Apr 13 2016 09:13

お久しぶりです。的はずれな質問でしたら恐縮ですが、投稿させていただきます。

現在、弊社でScalikeJDBCを利用してplayで開発をしています。
その際に、postメソッドの実装で利用するformについて、ScalikeJDBCのエンティティをそのまま適用、または、拡張適用できるような仕組みってないのかな、という話になしました。

下記や、scalikejdbcを見てみたのですが、それらしい情報に辿りつけず。。
https://github.com/scalikejdbc/hello-scalikejdbc/blob/master/app/controllers/Companies.scala

本質的じゃない欲求でしたら恥ずかしい限りですが、どなたかご回答いただけたらと思います :sweat_drops:
よろしくお願いします。

kenji yoshida
@xuwei-k
Apr 13 2016 09:25
ScalikeJDBCのエンティティ って、mapper generatorで生成したものですか?それともそれに限らないもの?
Shunsuke Wada
@letusfly85
Apr 13 2016 09:25
前者です。
kenji yoshida
@xuwei-k
Apr 13 2016 09:27
現状、mapper generator側に特にそんな仕組みはないですね。べつにformで使おうとしているオブジェクトと、そもまま型が合えば、使えないこともないと思いますが
個人的には仕事では、ピッタリ型が合うことないとか、いろいろ疎結合にしたい関係などあって、同じcase class無理に流用せずに、似たような別のcase class作ってます
Shunsuke Wada
@letusfly85
Apr 13 2016 09:36

ご回答ありがとうございます :smile:

疎結合にしたい関係などあって、同じcase class無理に流用せずに、似たような別のcase class作ってます
2、3のサービスでアカウント系のエンティティを扱いますので、参考にさせていただきます。

いっぽう、1サービスでしか使わないエンティティで項目が多いものについては、そのまま使えるかどうか、については抑えておきたいので、明日以降になってしまうのですが試してみようと思います。

ありがとうございます!

Manabu Nakamura
@gakuzzzz
Apr 13 2016 09:58
play2 の Form は任意のクラスにmappingする機能があるので単純にそれでEntityクラスにマッピングすればよいだけかと思われます。
kenji yoshida
@xuwei-k
Apr 13 2016 11:13
そうですね。まぁ自動生成されるidフィールドや created_at みたいなのがエンティティにあると、結局それらの扱いの関係で別のclass作るか何かの工夫必要になる、とかがありがちですが
Manabu Nakamura
@gakuzzzz
Apr 13 2016 11:14
めっちゃありがちですねぇ。
(僕も個人的には別クラス作るほうがお勧めです)